2016 - 2024

感恩一路有你

在VB中利用MSHFlexGrid控件显示可收缩的子记录

浏览量:3317 时间:2024-08-14 10:39:58 作者:采采

在窗口放置一个MSHFlexGrid1控件(注意:在标准工具箱没有这个控件,需要你自己添加,方法是点击【工程】菜单,在下拉菜单再点击【部件】,在对话框中勾选Microsoft FlexGrid control 6.0 (SP6)选项即可。),如果你还需要其他控件,继续添加,这里我们仅仅添加一个MSHFlexGrid1控件。

要显示或隐藏子记录,你必须有数据库,这里我们采用Access数据库,数据库中包含两个数据表,一个是父记录表,一个是子记录表,父记录表可以包含很多字段,同样子记录表中也可以包含很多字段,但是必须强调的一点:父记录表中的其中一个字段必须和子记录表中的一个字段不论大小、数据类型、字段名称、默认值都应该完全一样,这是父记录连接子记录的依据,具体的数据表我这里就不给出,根据你自己的需要设置吧。

设置显示、隐藏子记录的方法

在VB界面的工程属性窗口,右击已经存在的窗口名称,在弹出的菜单中选择【添加】-【Data Environment】这样在你的程序中就添加了一个数据环境设计器DataEnvironment1,点击DataEnvironment1,在设计窗口有一个Connection1的项目,右击Connection1项目,选择lt;属性gt;,在出现的对话框中选择lt;连接gt;选项卡,点击(使用连接字符串)选项,再点击【编译…】按钮,安装要求创建文件数据源,最后在编译按钮前的文本框中就可以显示你选择的文件数据源了(包括数据源、数据源的连接方式等等,这部分不是本文探讨的重点,不再详述)。好了创建了数据连接,我们基本上完成了一半工作,下面你必须双击Connection1项目,在Connection1项目下面增加了一个Command1项目,右击Command1项目,选择属性,在对话框的通用选项卡中的数据库对象选择“表“,对象名称中选择“父记录表”,然后点击【确定】按钮即可。

哈哈!父记录表的所有字段全部显示在Command1项目下了!再双击Command1项目,在Command1项目下面增加了一个Command2项目,右击Command2项目,选择属性,在对话框的通用选项卡中的数据库对象选择“表“,对象名称中选择“子记录表”,紧接着,你必须设置父记录和子记录的关联,选择关联选项卡,在父字段选择要和子记录关联字段名,在子字段选择和父记录关联的字段名,选择后点击【添加】按钮,这样父记录和子记录就设置了相互关联了,然后点击【确定】按钮即可。

哈哈!子记录表的所有字段全部显示在Command2项目下了!

好了到这里数据环境设计已经完成,接下来我们必须将我们刚刚设计的数据环境加载到MSHFlexGrid1控件,就界面转换到窗体的设计窗口,点击MSHFlexGrid1控件,在MSHFlexGrid1控件的属性对话框找到DataSource属性,就其属性设置为DataEnvironment1,将DataMember属性值设置为Command1,好了,我们已经将数据环境加载到MSHFlexGrid1控件了。

对MSHFlexGrid1控件进行连接设置

仅仅将数据环境加载到MSHFlexGrid1控件还不够,接下来我们要对MSHFlexGrid1控件进行连接设置,因为我们需要建立父记录和子记录的关联,这必须在MSHFlexGrid1控件的带区进行设置,具体方法是:右击MSHFlexGrid1控件,在出现的列表中,选择属性,在属性对话框中选择带区选项卡,这时出现的带区是带区0,在下面的列表框中出现“父记录表”中所有字段,如果你不想将有些字段显示在MSHFlexGrid1控件中,你可以将不显示字段前面的勾去掉即可,这样父记录就设置完成了。接下来设置子记录,点击带区下拉框的小三角,选择带区为带区1,在下面的列表框中出现“子记录表”中所有字段,如果你不想将有些字段显示在MSHFlexGrid1控件中,你可以将不显示字段前面的勾去掉即可,另外,这样子记录就设置完成了。

整个设置已经完成,现在你点击运行按钮(即小三角),怎么样?你的父记录前面是不是出现了 、-号的展开收缩项?到这里就完成了。

注意:上面所说的“父记录表”和“子记录表”是为叙述方便而临时命名的,根据你的数据库不同,父记录和子记录数据表名称不同,进行修改即可。如果你需要调整列宽,在代码窗口使用(X) 数字进行调整,其中X是需要调整的列代号(0-整个列数)。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。