多语言展示
当前在线:766今日阅读:3今日分享:40

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

在VB中利用MSHFlexGrid控件显示可收缩的子记录
工具/原料
1

VB中的MSHFlexGrid控件有一个比较强大的功能,就是一个父记录下面有多个子记录,那么这个父记录下的子记录可以收缩或展开,在很多应用程序中我们会遇到这样的问题,下面我们就这个问题进行探讨。其效果如下图:

2

图一、子记录展开的情况,第一列显示减号,显示子记录

3

图二、子记录收缩的情况,第一列显示加号,隐藏子记录


步骤/方法
1

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

2

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

3

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

4

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

推荐信息