电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 冲浪宝典-> 上传下载
datagrid控件的使用四_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 

    使用Bookmarks和SelBookmarks跟踪记录
    Bookmarks和SelBookmarks提供了标记记录的一种手段。当编写应用程序中的特定功能(诸如允许最终用户手工地选择多个不相邻的记录,进行所选记录的大批更新)时,这就很有必要。在这些情形中,需要标记哪些记录已被选择,因此可以使用SelBookmarks集合及其属性。
    有两个函数,分别是CellText和CellValue方法,需要标记才能正确执行。

    标记用户的选择
    SelBookmarks集合包含所有选定的记录的书签。当最终用户手工选择记录时(即在单击时按住CTRL键),每一个选定的记录的书签都会加入到该集合中。使用标准的循环,用户可以知道已经选定了什么,也可以保存书签(因为可能需要恢复某个值),以及执行操作:
    DimiasInteger计数器
    DimintCountAsInteger
    intCount=DataGrid1.SelBookmarks.Count-1
    ReDimarrSelBK(intCount)声明用于保存书签的数组。
    Fori=0TointCount
      ArrSelBK(i)=DataGrid1.SelBookmarks(i)
      在此处执行操作。如果该操作必须被
      取消,则退出该循环,然后使用该数
      组来取消这些更改。
    Nexti

    通过在程序中添加到SelBookmarks集合来选择记录
    通过将记录添加到这个集合,也可以在程序中选定记录。例如,可能有一个显示指定的客户所有订货的网格。如果要高亮显示该客户花费超过$100的所有记录,则对记录进行过滤,并将结果书签添加到SelBookmarks集合。
    DimrsAsRecordset
    Setrs=Adodc1.Recordset

    WhileNotrs.EOF
      Ifrs!SupplierID=12Then
        DataGrid1.SelBookmarks.Addrs.Bookmark
      EndIf
      rs.MoveNext
    Wend

    显示计算结果字段
    假设在表中有一个名为"Price"的字段,并且想使用本地税率来计算表中每一项的税费。这就是一个计算结果字段,可以通过修改DataSource的查询来计算这个值,并把这个值返回给DataGrid控件。
    要在DataGrid控件中创建一个计算结果字段
    1.确认在机器上已为Northwind数据库建立了一个OLEDB数据源;如果还没有创建这样的一个数据源,请按照“创建Northwind的OLEDBData连接”的步骤操作。
    2.在窗体上放置一个ADOData控件和一个DataGrid控件。
    3.将ADOData控件的ConnectionString属性设置为Northwind的数据源。
    4.设置ADOData控件的RecordSource属性。在“属性”窗口中,单击“记录源”并输入SelectProductName,UnitPrice,(UnitPrice*.082)AsTaxFromProducts。
    5.将DataGrid控件的DataSource属性设置为这个ADOData控件。
    6.运行该工程。

    与类模块一起使用DataGrid控件
    如果想要访问以自定义格式或以ODBC驱动程序不直接支持的格式存放的数据,可以创建一个类来封装该数据。然后可以编写该类的自定义函数来检索这些数据。这样该类就变成了一种数据源,可以被任何数据使用者(如DataGrid控件)使用。
    在这个类模块的Initialize事件中,首先通过声明一个作为New ADODB.Recordset的变量,来创建一个ADODBrecordset对象。在创建了这个recordset对象后,再添加字段,每个数据源中的每个字段都要加入。然后使用合适的数据填充这个记录集。
    注意也可以使用OLEDB示例提供者来创建一个数据源。关于OLEDB示例提供者的详细信息,请参阅“创建带有数据提供方的部件”。
    类模块有一个GetDataMember事件,只要当数据使用者(诸如DataGrid控件)需要数据时就产生该事件。在这个事件中,Data参数被设置为在Initialize事件中所创建的recordset对象。
    如果要使用这个类模块,应创建一个具有一个DataGrid控件的窗体。在该窗体的Load事件的代码中,将该控件的DataSource属性设置为这个类。
    注意数据类模块在设计时是不可用的。例如,如果使用DataGrid控件,则当用户在“属性”窗口中单击“数据源”时,所有可用的数据源都会出现在一个下拉列表中。但其中不会有这个数据类模块,它只能在代码中设置。

    使用类模块创建一个数据源
    下面的示例使用一个类模块来创建一个简单数据源。然后通过DataSource属性将DataGrid控件绑定到该模块。
要创建一个用于DataGrid的类
    1.创建一个新的标准Exe工程。
    2.给窗体添加一个DataGrid控件。如果DataGrid控件不在“工具箱”中,则在“工程”菜单中单击“部件”,
再单击“MicrosoftDataGridControl”,然后单击“确定”。
    3.在“工程”菜单中,单击“引用”。在“引用”对话框中,单击“MicrosoftActiveXDataObjects2.0Library”。
    4.在“工程”菜单中,单击“添加类模块”来给工程添加一个数据类模块。
    5.在“工程资源管理器”窗口中,单击并选定“类”图标,并按F4键显示“属性”窗口。
    6.在“属性”窗口中,将类的名称更改为NamesData。
    7.在“属性”窗口中,单击“DataSourceBehavior”并将该属性更改为vbDataSource。
    8.在该类模块的Declarations部分,创建一个ADODBRecordset变量,如下所示:
    OptionExplicit
    PrivateWithEventsrsNamesAsADODB.RecordSet
    使用WithEvents关键词来声明该变量,使用户可以对RecordSet对象的事件编程。
    9.在该类的Initialize事件中,添加下述代码:
    PrivateSubClass_Initialize()
      将新的数据成员的名称添加到DataMember集合
      这使其它对象可以看见这些可用的
      DataMembersDataMembers.Add"Names"

      SetrsNames=NewADODB.RecordSet   设置对象变量。
      创建一个具有两个字段的recordset,并打开该recordset。
      第一个记录具有一个整数的数据类型,第二个记录是一个最大可
      达256个字符的字符串。CursorType被设置为OpenStatic
      ——一个可更新的对一组记录的快照。LockType被设置为
      LockOptimistic,以允许对该recordset进行更新。
      WithrsNames
        .Fields.Append"ID",adInteger
        .Fields.Append"Name",adBSTR,255
        .CursorType=adOpenStatic
        .LockType=adLockOptimistic
        .Open
      EndWith

      DimiAsInteger
      Fori=1to10  添加十条记录。
        rsNames.AddNew
        rsNames!ID=i
        rsNames!Name="Name"&i
        rsNames.Update
      Nexti
      rsNames.MoveFirst移到该记录集的开始。
    EndSub
    这部分代码首先创建recordset对象,然后给该对象添加两个字段。代码接着给recordset添加十条记录。
    10.在该类的GetDataMember事件中,添加下述代码:
    PrivateSubClass_GetDataMember(ByValDataMemberAsString,_
    DataAsObject)
       SetData=rsNames
    EndSub
    只要发生该事件——即当该类对象被绑定到一个数据使用者,如DataGrid控件时,代码将返回该recordset对象。
    11.在Form对象的代码模块中,声明一个数据类的对象变量:
    OptionExplicit
    PrivatedatNamesAsNamesData类变量
    12.在Form对象的Load事件的代码中,将DataGrid控件的DataSource设置为该类对象。
     PrivateSubForm_Load()
       创建一个新的NamesData对象
       SetdatNames=NewNamesData
       将这个DataGrid绑定到新的数据源datNames
       SetDataGrid1.DataSource=datNames
     EndSub
    13.按F5键运行该工程。

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·用photoshop教你打造神秘炫光黑洞_photoshop教程
·win xp中光纤拨号设置故障解决方法_windows xp
·用vb编写directx7.0游戏(上)_visualbasic教程
·处理加了admin888的mdb文件_visualbasic教程
·在vb中操纵ole服务器应用程序_visualbasic教程
·datagrid控件的使用四_visualbasic教程
·friend过程快于public过程_visualbasic教程
·在visualbasic中终止windows95_visualbasic教程
·vb6制作win98风格的工具栏_visualbasic教程
·photoshop魔术:暗藏彩色的黑白图片_photoshop教程

最新文章
·提升信息利用率的新模式——“近联网”
·应对BBS风暴 中小论坛的几条出路
·炒作大于应用 谁来给无限量邮箱降温
·我们离不开Alexa最根本的是它有公信力
·林思吾:做SEO的二十个要点
·photoshop教程-表面模糊滤镜快速去斑_photoshop教程
·用php实现动态产生xml文件以及从xml文件中抽取数据转化成html的小程序_php技巧
·让windows xp系统远离内存读写错误_windows xp
·用photoshop简单方法抠半透明图片_photoshop教程
·photoshop快速打造皱纸画面效果_photoshop教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号