MSFlexGrid与DataGrid 的异同

         开学大概一周的时间了,似乎没有学习什么知识,还是总结下假期学的东西吧!

         在分页显示记录中需要显示当前记录数据时需要显示记录页数据这两个控件就具有这样的功能

    对于DataGrid控件来说它可显示记录集中的全部数据,但是不能直接将分页的记录集绑定到DataGrid控件,需要先将当前记录页中的记录复制到一个新的记录集中,再将其绑定到DataGrid控件,便可显示当前记录数据。

    对于MSFlexGrid控件;其可在设计时将其绑定到Data控件,在运行时,则可通过设置控件的TextMatrix属性来显示数据。

    除了这些他们还有什么区别呢?!

   首先,MSFlexGrid控件比较灵活

         因为该控件有TextMatrix属性(设置和返回控件任意单元格的文本内容),所以在显示数据时,直接可通过循环在其中填充数据

    实现循环填充数据的代码如下:

MSFlexGrid1.Clear '清除原有数据
‘通过循环在TextMatrix属性中填充数据
For I = 0 To objRs.Fields.Count - 1
MSFlexGrid1.TextMatrix(0, I) = objRs.Fields(I).Name
Next
For I = 1 To objRs.PageSize
For J = 0 To objRs.Fields.Count - 1
MSFlexGrid1.TextMatrix(I, J) = objRs.Fields(J)
Next
objRs.MoveNext
If objRs.EOF Then Exit For
Next


 

                而DataGrid控件是显示记录集中的全部数据,所以在做分页显示时,需要先将需要显示的部分拷贝到一个新的记录集中,然后再通过DataGrid控件显示该(新)记录集中的全部数据,所以不如MSFlexGrid控件灵活

       它在分页显示时的代码:

 

       

'创建一个新的空记录集

For intRecord = 0 To objRs.Fields.Count - 1

objDataSource.Fields.Append objRs.Fields(intRecord).Name, adVarChar, objRs.Fields(intRecord).DefinedSize

Next

'将需要显示的部分拷贝到一个新的记录集中

For intRecord = 1 To objRs.PageSize '将objRs当前记录页中数据写入objDataSource

objDataSource.AddNew

objDataSource!用户名 = objRs!用户名

objDataSource!口令 = objRs!口令

objDataSource!身份 = objRs!身份

objRs.MoveNext

If objRs.EOF Then Exit For

Next

'通过DataGrid控件显示该(新)记录集中的全部数据

Set DataGrid1.DataSource = objDataSource


 

然后MSFlexGrid控件显示效果好

MSFlexGrid控件的网格中可以包含字符串和图片,并且它提供了高度灵活的网格排序、合并和格式设置功能,因此它可以设计出非常漂亮且实用的界面。然而DataGrid控件却不可以!

 

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值