网站大量收购独家精品文档,联系QQ:2885784924

DataGrid控件用法详解.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DataGrid控件用法详解 作者:万建华 下载源代码 写在前面   刚写这个题目,就觉得肩上重了,不知道自己能否对DataGrid详解之。希望大家共同指正。DataGrid控件是VC方便地用来显示数据的一个极好的网格控件,我不否认网上还有期它不少优秀的网格控件,但我总喜欢使用微软自已的东西 。除非它满足不了我的需要。不是我太依赖Microsoft,你想想,如果你最常用的开发工具是VC,VC是微软的主打开发工具,它与Windows系统的兼容性极好,连它的控件也不例外,你为何不先选用成熟的代码,如果它升级了,你的系统几乎不作改动就可以继续为你效劳,有什么不好,这不完全是那种无谓的依靠,而是利用 。更重要的是你可以更注重你的系统功能,而不是代码的细节。   之所以要写这样的文章,因为有几个网友在问我网格控件的用法,我想也许其他朋友也有用(如果真的是这样,我很高兴)。 一、我先交待主要内容 在网格控件中显示查询的数据结果。 对网格控件的显示进行控制(如列宽)。 对网格内容格式进行控制(如将小于1的小数显示成百分数) 二、准备工作   先建立一个工程,我的主框架选用对话框,然后插入你DataGrid控件,见如图1 图1   找到Microsoft DataGrid OLEDB 6.0 控件,确定,出现图所示对话框,这个对话框中你要根据需要选择的类,这些类封装了这个控件的几乎所有功能有方法。这里我只选择了三个类:CDataGrid,CColumns,CColumn,如图2(我们知道,ActiveX是基于COM的,这三个类是对这个控件的COM查询接口的封装,使你在使用时几乎不知道自己在使用COM控件。正因为如此,你要想直接查看这个控件的源代码,也就不可能了。) 图2 三、功能实现及代码 1.在网格控件中显示查询的数据结果。   数据库接库,并取得查询的数据结果。这里我使用了一个ADO封装类(当然你可以使用其它的方法方法数据库,而不会影响控件的使用)。 CADODatabase m_DBCn;//数据库对象 CADORecordset m_Rs;//记录集对象 CDataGRid m_ctrlDG;//DataGrid控件对象 ... CString strConnection; strConnection.Format(_T(Provider=Microsoft.Jet.OLEDB.4.0;) _T(Data Source=note.mdb)); m_DBCn.Open((LPCTSTR)strConnection); //打开程序数据库 m_Rs.SetDatabase(m_DBCn); m_Rs.Open(_T(select * from test;)); //执行查询 m_ctrlDG.SetRefDataSource((LPUNKNOW)m_Rs.GetRecordset());//显示在DataGrid控件中 如图3: 图3 2.对网格控件的显示进行控制(如列宽)。 要实现对列的控制,就要先取得列对象。 CColumns cols = m_ctrlDG.GetColumns();//先取得列集 CColumn col = cols.GetItem(vt); //再取得列集中的列,由VARIANT vt变量指出列的索引号   然后,你就可以对当前列为所欲为,这里我对它设置列宽 col.SetWidth(fWidth);//fWidth指定列宽 如图4 图4 3.对网格内容格式进行控制(如将小于1的小数显示成百分数) 要设置列的显示格式,还是要先取得列,再对它设置格式,取得列的方法同上。 col.SetNumberFormat(_T(0.0%));//百分数格式 如图5 图5 4.除此之外,我们还可以对它多行显示,如图6 图6 5.另外,还可以利用消息机制,对控件的HeadClick消息处理,使控件能进行排序。 (具体情况参见源代码) 四、结束语   细心的朋友会发现,查看相关类的方法名(函数名),能故名思意,看出控件的功能,另外在插入控件时,一般有也帮助文件,不过是针VB的,而且VB的调用方法与VC差别较大,但只有对比VC和VB方法名的相似之处,你还是可以很快对这款控件上手,并运用到你的项目中去。?   本文源程序在VC6.0英语版,Windows XP调试通过,并附源程序(工程名 TestGrid)。DataGrid控件的功能远不止这此,希望本文能抛砖引玉,欢迎有兴趣的朋友交流 eMail:ChinaITBoy@163.com。

您可能关注的文档

文档评论(0)

tdqm803 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档