你好! - 轻松快乐从此开始!

香山红叶网-计算机技术交流

当前位置: 主页 > 综合 >

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

时间:2013-07-07 14:12来源: 作者: 点击:等待统计信息……
摘要:在VB中利用MSHFlexGrid控件显示可收缩的子记录 工具/原料 VB中的MSHFlexGrid控件有一个比较强大的功能,就是一个父记录下面有多个子记录,那么这个父记录下的子记录可以收缩或展开,在很多应用程序中我们会遇到这样的问题,下面我们就这个问题进行探讨。其效……

 在VB中利用MSHFlexGrid控件显示可收缩的子记录 香山红叶网- ]gI^C~uLdFrKd0Y

  香山红叶网- 1WKqD66dQKC&x}fw

使用工具

  香山红叶网- HyD3OBK(XvQR3:fS

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

  •  图一、子记录展开的情况,第一列显示减号,显示子记录 香山红叶网- 0|TI~V[u22D{|TQK

      

    香山红叶网- Li1BR+bex"#(SB"P

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

    香山红叶网- f!7x9~jWJr9!}*eu

      

    香山红叶网- 0um[f%@(]Ww{2}7c

步骤/方法

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

 

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

 

下面就是设置显示、隐藏子记录的方法:

 

在VB界面的工程属性窗口,右击已经存在的窗口名称,在弹出的菜单中选择【添加】-【Data Environment】这样在你的程序中就添加了一个数据环境设计器DataEnvironment1,点击DataEnvironment1,在设计窗口有一个Connection1的项目,右击Connection1项目,选择<属性>,在出现的对话框中选择<连接>选项卡,点击(使用连接字符串)选项,再点击【编译…】按钮,安装要求创建文件数据源,最后在编译按钮前的文本框中就可以显示你选择的文件数据源了(包括数据源、数据源的连接方式等等,这部分不是本文探讨的重点,不再详述)。

 

好了创建了数据连接,我们基本上完成了一半工作,下面你必须双击Connection1项目,呵呵!在Connection1项目下面增加了一个Command1项目,右击Command1项目,选择属性,在对话框的通用选项卡中的数据库对象选择“表“,对象名称中选择“父记录表”,然后点击【确定】按钮即可。哈哈!父记录表的所有字段全部显示在Command1项目下了! 

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

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

 

仅仅将数据环境加载到MSHFlexGrid1控件还不够,接下来我们要对MSHFlexGrid1控件进行连接设置,因为我们需要建立父记录和子记录的关联,这必须在MSHFlexGrid1控件的带区进行设置,具体方法是: 

右击MSHFlexGrid1控件,在出现的列表中,选择属性,在属性对话框中选择带区选项卡,这时出现的带区是带区0,在下面的列表框中出现“父记录表”中所有字段,如果你不想将有些字段显示在MSHFlexGrid1控件中,你可以将不显示字段前面的勾去掉即可,这样父记录就设置完成了。

 

接下来设置子记录,点击带区下拉框的小三角,选择带区为带区1,在下面的列表框中出现“子记录表”中所有字段,如果你不想将有些字段显示在MSHFlexGrid1控件中,你可以将不显示字段前面的勾去掉即可,另外,这样子记录就设置完成了。

 

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

 

注意:上面所说的“父记录表”和“子记录表”是为叙述方便而临时命名的,根据你的数据库不同,父记录和子记录数据表名称不同,进行修改即可。 

 

如果你需要调整列宽,在代码窗口使用MSHFlexGrid1.ColWidth(X) = 数字进行调整,其中X是需要调整的列代号(0-整个列数)。

(责任编辑:admin)

------分隔线----------------------------
栏目列表
推荐内容
二维码生成器
AD-code726