一、DataGrid控件
'添加部件"Microsoft DataGrid
Control 6.0 (SP6)(OLEDB)"才能使用DataGrid
DataGrid能绑定ADODC控件,支持数据库对象ADO。
二、MSFlexGrid控件
'添加部件"Microsoft FlexGrid
Control 6.0 (SP6)"才能使用MSFlexGrid
MSFlexgrid能绑定DATA控件,支持数据库对象DAO。
绑定DATA控件支持97数据库,不支持2000以上版本数据库
'添加部件"Microsoft Hierarchical
FlexGrid Control
6.0 (SP6)(OLEDB)"才能使用MSHFlexGrid
MSHFlexGrid能绑定ADODC控件,支持数据库对象ADO。
MSHFlexGrid控件与MSHFlexGrid控件属性与方法基本相同。但会出现显示长小数位。
四、以下网上的说法:
DBGrid和另外两个控件最大的区别在于DBGrid允许用户修改数据,而另外两个不允许。如果你要用户修改数据,你应该DBGrid。如果只是显示数据,应该使用MSFlexGrid、MSHFlexGrid,这两个控件显示的选项更多,更好看。而MSFlexGrid和MSHFlexGrid之间的区别,主要是后者支持ADO的层次显示。如果你不使用ADO,可以考虑MSFlexGrid,否则建议使用MSHFlexGrid。
最大的区别在于datagrid能绑定记录集,msflexgrid不能。而mshflexgrid能绑定,所以我一般不用msflexgrid,因为mshflexgrid感觉已包含了msflexgrid的功能,而datagrid与mshflexgrid的区别在于:datagrid能直接在网格输入数据,保存更新等,mshflexgrid只能加多一个textbox才能输入,不过mshflexgrid能合并和设置单元格的颜色这是我最喜欢它之处。
最大的区别在于datagrid、mshflexgrid能绑定记录集,msflexgrid不能。
而datagrid与mshflexgrid的区别在于:
datagrid能直接在网格输入数据,保存更新等,
mshflexgrid只能加多一个textbox才能输入,不过mshflexgrid能合并和设置单元格的颜色
MSFlexGrid和MSHFlexGrid之间的区别:
MSFlexGrid
控件
Microsoft FlexGrid (MSFlexGrid)
控件可以显示网格数据,也可以对其进行操作。它提供了高度灵活的网格排序、合并和格式设置功能,网格中可以包含字符串和图片。如果将它绑定到一个
Data 控件上,那么 MSFlexGrid 显示的将是只读的数据
MSHFlexGrid 控件
Microsoft Hierarchical FlexGrid (MSHFlexGrid)
控件对表格数据进行显示和操作。在对包含字符串和图片的表格进行分类、合并以及格式化时,具有完全的灵活性。当绑定到 Data
控件上时,MSHFlexGrid 所显示的是只读数据
总之:MSHFLexGrid主要是后者支持ADO的层次显示。如果你不使用ADO,可以考虑MSFlexGrid,否则建议使用MSHFlexGrid。因为mshflexgrid感觉已包含了msflexgrid的功能。
DataGrid、MSFlexGrid、MSHFlexGrid控件刷新问题
请问这几种控件是不是都能实现数据库实时刷新,就我改变数据库的内容,可以立即体现出来。
如能,请列示几个实现的代码
1、推荐解决方案
DataGrid、MSHFlexGrid如果数据绑定了,可以实现实时刷新,配合语句
如: Adodc1.Refresh
DataGrid.Refresh
MSFlexGrid就要麻烦点,因不能数据绑定,需要清空后重新代码插入记录
2、其他解决方案
都可以。在你改变了数据库的内容的,可以在Data控件、ADODC控件上使用Refresh方法来重新打开数据库,这样就可以实时刷新网络控件。
datagrid与mshflexgrid可以与ADODC控件在设计时绑定,也可以动态绑定。
动态绑定的一般这样:
ADODC1.Refresh
set
datagrid1.datasource=ADODC1'这是重新绑定,也就等于刷了datagrid
set MSHFlexGrid.datasource=ADODC1'同上
在设计时绑定的只要执行ADODC1.Refresh就可以了
msflexgrid可以与data控件在设计时绑定,不能动态绑定。
data1.Refresh'运行时修改了数据库,只要重新打开数据库,就可以更新msflexgrid
不需要重新打开数据库。 更新后,使用绑定的记录集 Requery 方法即可。
例如:
ADODC1.Recordset.Requery 或
rs.Requery
都可以使被绑定的控件刷新。
3、其他建议
建议不要用adodc绑定的方式,使用记录集.方法:
Set DataGrid1.DataSource =
rs
rs.Requery
加载中,请稍候......