各位:
用vb编写程序时,对于数据的处理,特别是 来自数据库的数据,常用到类似表格的控件,我在“部件”添加了以下三个 Activex 控件:
DataGrid控件
MSFlexGrid 控件
MSHFlexGrid 控件 虽然参阅了msdn 帮助,感到很生涩!但对这三个控件的用处、异同点不是太了解!
请问,谁能比较通俗的解释一下!
不胜感激!
解决方案 »
- 求分发苹果的算法(什么语言都可以)
- 操作注册表的问题
- 如何在VB中执行指定EXCEL文件里的宏(如宏1)
- byte 数组的问题
- 请教高手,我在1024*768分辨率下打印VB窗体,在屏幕上看起来很正的东西打印到纸上反而偏了,不知是什么原因。
- 求教:用VB客户端连接SQL2000时,错误提示 服务器名\Guest 登陆失败,为什么???
- 给个位加分,当往表中导数据时如何用进度条显示其进程
- 数据库在如何锁住一个记录。一个表。整个数据库。 用ADO
- 各位大侠:在vb中用什么函数或命令能在文本文件中删除一行(或update)?
- 请各位大虾帮忙,急
- 关于Clarify eFrontOffice (Fulcrum Technologies Inc.) 的API.
- 大家有人用过InterPhonic吗?
说明
可以将文本、图片,或者文本和图片,放在MSHFlexGrid 的任意单元中。Row 和 Col 属性指定了MSHFlexGrid 中的当前单元。程序员可以在代码中指定当前单元,也可以在运行时,使用鼠标或者方向键来对其进行修改。Text 属性引用当前单元的内容。
如果单元的文本过长而不能在该单元中显示,而且 WordWrap 属性被设置为 True,那么文本就会换行到同一单元内的下一行。为了显示换行的文本,可能需要增加单元的列宽度(ColWidth 属性)或者行高度(RowHeight 属性)。
可以用 Cols 和 Rows 属性来决定MSHFlexGrid 控件中的列数和行数。
DataGrid说明
该数据识别的DataGrid控件看起来与Grid控件类似。但是,您可以设置DataGrid控件的DataSource属性为一个Data控件,以自动填充该控件并且从Data控件的Recordset对象自动设置其列标头。这个DataGrid控件实际上是一个固定的列集合,每一列的行数都是不确定的。
DataGrid 控件的每一个单元格都可以包含文本值,但不能链接或内嵌对象。可以在代码中指定当前单元格,或者用户可以使用鼠标或箭头键在运行时改变它。通过在单元格中键入或编程的方式,单元格可以交互地编辑。单元格能够被单独地选定或按照行来选定。
如果一个单元格的文本太长,以致于不能在单元格中全部显示,则文本将在同一单元格内折行到下一行。要显示折行的文本,必须增加单元格的Column对象的Width属性和/或DataGrid控件的RowHeight属性。在设计时,可以通过调节列来交互地改变列宽度,或在Column对象的属性页中改变列宽度。
使用DataGrid控件的Columns集合的Count属性和Recordset对象的RecordCount属性,可以决定控件中行和列的数目。DataGrid控件的可包含的行数取决于系统的资源,而列数最多可达32,767列。选择一个单元格,则ColIndex属性被设置,也就是选择了DataGrid对象的Columns集合中的一个Column对象。Column对象的Text和Value属性引用当前单元格的内容。使用Book属性能够访问当前行的数据,它能够提供对下一级Recordset对象中记录的访问。DataGrid控件中的每一列都有自己的字体、边框、自动换行、和另外一些与其他列无关的能够被设置的属性。在设计时,您可以设置列宽和行高,并且建立对用户不可见的列。您还能阻止用户在运行时改变格式。
MSFlexGrid说明文本和图片可以同时或者单独放在 MSFlexGrid 的任何一个单元格中。Row 和 Col 属性指定了当前的 MSFlexGrid 单元格。程序员可以在代码中改变当前单元格,用户可以在运行时使用鼠标或者箭头键改变它。Text 属性提供了当前单元格内容的参考信息。如果单元格中的文本过长,无法全部显示在单元格的一行中,而且 WordWrap 属性被设置为 True,那么文本将回绕到同一单元格的下一行。如果需要显示被回绕的文本,需要增加单元的列宽(ColWidth 属性)或行高(RowHeight 属性)。使用 Col 和 Row 属性可以分别确定 MSFlexGrid 中列与行的个数。注意 在应用程序中使用 MSFlexGrid 之前,首先必须将 MSFlxGrd.ocx 文件添加到工程中。如果希望自动地将文件包含在过程之中,请将它放在 Autoload 文件中。在发布应用程序的时候,应该在用户的 Microsoft Windows System 目录下安装 MSFlxGrd.ocx 文件。关于如何在工程中添加 ActiveX 控件的详细说明,请参阅《Visual Basic 程序员指南》中的“标准 ActiveX 控件”。
谢谢!楼主的详细解答! 我要访问的数据库文件是 access 文件,它在我的系统的位置是固定的, X;\mysys\mydb.mdb ,也就是说安装盘符可能是 C; 或 D; ,其余路径是固定的 。
我的问题是对该 库文件 mydb.mdb 中的两个用户表 tab1和tab2 中部分字段要绑定到同一个grid 控件,不知是否可行,要注意什么?
这个可行吗?
2.你所说的 "MSFlexGrid 控件只能把数据一个个读进自身网格",是指可以用 Recordset 对象把数据一个个读入到 MSFlexGrid 指定的单元格内吧??? 对于我的问题,是用哪个控件好呢?