CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

请问:true dbgrid pro 7.0控件的属性与方法!!!(100分全给)

楼主jurna(鸟人)2005-01-26 15:15:06 在 VB / 数据库(包含打印,安装,报表) 提问

有网站帖一个也行, 问题点数:100、回复次数:7Top

1 楼mndsoft(枕善居(http://www.mndsoft.com/)回复于 2005-01-26 15:19:49 得分 0

只要在CSDN上搜,应该有点信息的。  
  这个控件强大,但中文资料少。Top

2 楼viena(维也纳N02)回复于 2005-01-26 15:24:21 得分 100

控件属性一览表(部分)  
   
  AllowAddNew  
  AllowArrows  
  AllowColMove  
  AllowDelete  
  Bookmark  
  CaptionStyle  
  CurrentCellModified  
  CurrentCellVisible  
  DataChanged  
  EditActive  
  EditBackColor  
  EditForeColor  
  ExtendRightColumn  
  HeadBackColor  
  HeadForeColor  
  HeadLines  
  SelectedBackColor  
  SelectedForeColor  
  TabAction  
  WrapCellPointer    
  可以追加新的记录  
  可以使用箭头键  
  在运行过程中可以进行列的移动  
  在运行过程中可以删除记录  
  设定/返回网格当前行的标记  
  设定网格的标题形式  
  返回当前单元的更新状态  
  返回当前单元的显示状态  
  返回当前行或者单元的数据更新状态  
  切换单元的编辑方式  
  设定编辑单元的背景颜色  
  设定编辑单元的文本颜色  
  扩张最右侧的列  
  设定标题的背景颜色  
  设定标题的文本颜色  
  设定标题文本的行数  
  设定选择行的背景颜色  
  设定选择行的文本颜色  
  定义tab键的动作  
  定义行范围内的tab键和箭头键的动作    
   
     
   
     
   
  控件事件一览表(部分)  
   
  AfterColEdit  
  AfterDelete  
  AfterInsert  
  AfterUpdate  
  BeforeDelete  
  BeforeInsert  
  BeforeUpdate  
  ButtonClick  
  Change  
  ColEdit  
  ColMove  
  ColResize  
  ComboSelect  
  DragCell  
  LeftColChange  
  OnAddNew   在编辑列数据以后发生  
  在网格删除记录之后发生  
  在网格中插入记录之后发生  
  在更新数据库记录之后发生  
  在网格中删除记录之前发生  
  在网格中插入记录之前发生  
  在更新数据库记录之前发生  
  在击中按钮时发生  
  网格内容更新完毕时发生  
  完成列的数据编辑时发生  
  移动网格的列,在网格刷新前发生  
  改变列的尺寸,在网格刷新前发生  
  用户选择下拉式复选框时发生  
  执行拖曳操作时发生  
  改变LeftCol属性值时发生  
  用户追加新的数据行时发生    
   
     
   
     
   
  控件方法一览表(部分)  
   
  Add  
  AddCellStyle  
  CaptureImage  
  Clear  
  ClearCellStyle  
  ClearFields  
  ClearSelCols  
  ReBind  
  Remove  
  RowTop  
  Scroll   在集合中增加新的内容  
  增加单元格或其内容的形式变化  
  捕捉网格中显示的图像  
  在集合中删除内容  
  取消单元格的形式变化  
  取消当前列或区域的界面设计  
  取消部分列的选择  
  重新绑定数据源  
  在集合中删除元素  
  返回指定行上端的Y坐标  
  卷动网格数据库    
  Top

3 楼jurna(鸟人)回复于 2005-01-26 15:25:14 得分 0

就是啊....想找,找不到呀!!急啊!!!!1Top

4 楼viena(维也纳N02)回复于 2005-01-26 15:26:55 得分 0

True   DBGrid   Pro   6.0是一个数据感知ActiveX   grid控件。  
   
  Bookmark属性:该属性为指定行返回或设置一个书签,这个行在一个RowBuffer对象里,传递到一个未绑定事件处理过程。在非绑定模式中,一个书签包含了一个用户定义的值,该值不重复地标识数据的每一行。在UnboundReadData和UnboundAddData事件里,你的代码必须为取回或添加数据的列提供书签。在UnboundWriteData和UnboundDeleteRow事件里,网格控件传递这些书签中的一个作为参数,所以你的代码能做一个适当的动作。  
   
  True   DBGrid和the   Microsoft   Data   Access   Objects   (DAO)   library都使用书签来标识记录和操作数据库。一个书签是一个变量,不重复地标识数据库中一个特定的行。例如:它是一个行号的概念。  
   
  习惯于使用行号来确定记录的程序员可能需要概念性修正。在一个关系数据库中,一个记录的顺序位置是不相关的,因为在数据库或一个查询结果集中的总行数一般是无效的。当执行某个操作如FindFirst   or   FindNext,当前记录向前移动一个不确定的行数,并且没有有效的方法来确定移动多少。为了避免耗时的计算操作,大多数关系数据库系统都放弃了使用行号而采用书签来处理。  
   
  书签实际上非常易于使用。下面是要记录的基本规则:  
   
  每一个记录或行都有一个不重复的书签    
  你可以通过设置网格或Data控件的书签属性来移动到指定记录上    
  TDBGrid1.Bookmark   =   SomeBookmark  
   
  Data1.Recordset.Bookmark   =   SomeBookmark  
   
  SomeBookmark通常是一个你从Data控件、一个副本、或一个书签集里获得的书签。网格控件或Data控件的Bookmark属性总是包含当前记录的书签。  
   
  你可以通过移动动到第一或最后记录,或移动到当前书签相关位置来游历数据库    
  Data1.Recordset.MoveFirst  
   
  Data1.Recordset.MoveLast  
   
  Data1.Recordset.MoveNext  
   
  Data1.Recordset.MovePrevious  
   
  在绑定模式,你一般不知道书签的格式或语法,所以不要试图读一个书签的细节或自己构建一个书签。在一个书签上执行唯一的合法操作是把它存成一个变量,给它指定适当的属性或方法,并与另一个书签比较来判定两个是否一样:    
  '   Saving   a   bookmark:  
   
  Dim   SomeBookmark   as   Variant  
   
  SomeBookmark   =   Data1.Recordset.Bookmark  
   
  '   Assigning   a   bookmark:  
   
  Data1.Recordset.Bookmark   =   SomeBookmark  
   
  '   To   reliably   compare   bookmarks,   you   must   first   convert   them  
   
  '   into   strings:  
   
  Dim   Bk1   As   String,   Bk2   As   String  
   
  Bk1   =   SomeBookmark1  
   
  Bk2   =   SomeBookmark2  
   
  If   Bk1   =   Bk2   Then  
   
  ...  
   
  End   If  
   
     
   
  注意:在VB里可靠地比较两个书签,你必须首先把他们转换到字符串  
   
     
   
  你可以任意选择标识行的方法来作书签,但要注意的是每一行的书签必须保持不得重复。通常,你总是想能够用书签迅速地搜索记录,这样,当一个网格给你一个书签时,就要请求在你的数据集里的相关信息,你应该能够迅速定位这些网格请求的行。有一个重要的概念要记住,无论你为指定行提供给网格什么样的书签,那都是网格随后用来查寻行的依据。下面是三个使用书签的例子:  
   
  1、如果你把数据和非绑定网格一起使用,你可以用一个关键字段的值来作为书签。使用这种方法,当提交书签时,你能很快地搜索和接收到相关的记录;  
   
  2、如果你使用的数据库支持行号或记录号,这些可以方便地用作书签;  
   
  3、如果你和一个自定义数据阵列一起使用网格,阵列的行索引是做书签的一个选择。  
   
  书签不能超过255个字符,因为VB5的每个字符使用2个字节来存储,这意味着字符串书签不能超过127个字符。  
   
  True   DBGrid的非绑定模式支持tring,   integral,   and   floating   point书签,其他的数据类型必须转换成String才能被传进网格做书签。  
   
  在从UnboundReadDataEx事件返回前,你必须用不重复的行标记填充RowBuf的Bookmark阵列,和实际数据的Value阵列。例如:如果,offset   是1(或-1),那么你必须填进RowBuf,从StartLocation后的第几行(或先于StartLocation第几行)开始。RowBuf参数作为一个二维阵列,通过用适当的数据来设置它的Value属性,你的事件处理过程就可以从非绑定数据集传送行到grid。使用行缓冲的RowCount属性来判定grid需要多少数据行。使用它的ColumnCount属性来判定列的数量。如果ColumnCount是零,那么grid将请求一个单行的书签,如果ColumnCount不是零,那么grid将请求RowCount行数的数据和相应的书签。  
   
  使用RowBuffer对象  
   
  RowBuffer对象仅用在DataMode属性被设为1-   Unbound   或   2   -   Unbound   Extended时,它仅存在于传送数据到网格或从网格传出数据时存在。你不能创建一个独立的RowBuffer对象。  
   
  RowBuffer是一个可编程对象,对于在网格和你的数据源之间通过网格事件来改变数据。RowBuffer对象被作为一个参数传递进一个非绑定网格事件处理器。实际上,RowBuffer对象只能存在于非绑定事件的作用区域;你不能在代码里创建一个新的作为一个Column或Split对象。下面是RowBuffer对象属性的简要描述  
   
     
   
  RowCount属性  
   
  RowCount是一个long,指出能在一个非绑定事件(read,   write   or   add)里能被处理的最大行数,如果该属性的值超过了能被处理的行数,例如:当一个文件结尾条件被侦测到,那么你的事件处理代码应该改变这个属性,以反馈实际的行处理数量。该属性返回或设置被传递到非绑定事件处理过程中的RowBuffer对象的行数。在UnboundReadData事件中,该属性标识grid请求了多少行数据。在用Value和Bookmark属性填充了这些行后,你的事件处理过程应该用实际取得的行数来设置RowCount属性。在UnboundAddData和UnboundWriteData事件中,该属性的值始终是1,因为一次只能添加或删除一行。但是可以把这个属性设为0来标识添加或删除操作失败。注意:当一个RowBuffer对象被传递到一个非绑定事件处理过程,RowCount属性的初始值总是反应出最大值。如果你试图超过这个最大值,将引发一个错误。  
   
  RowBuffer.RowCount   =   Long  
   
     
   
  ColumnCount   属性  
   
  ColumnCount是integer,指出在一个非绑定事件应该处理的列数。该属性是只读的,不要试图改变它。非绑定事件处理所有列请求。  
   
  Integer   =   RowBuffer.ColumnCount  
   
     
   
  ColumnName属性  
   
  ColumnName是一个string   array,指定相应的网格列名到一个row   buffer   index。该属性是只读的。  
   
  String   =   RowBuffer.ColumnName(ColIndex)  
   
  '   where   ColIndex   =   0   to   ColumnCount   –   1  
   
     
   
  Bookmark属性  
   
  Bookmark是一个variant   array,当RowBuffer用来在一个非绑定读事件中取数据时,它用来指定不重复的行标记  
   
  RowBuffer.Bookmark(RowIndex)   =   Variant  
   
  '   where   RowIndex   =   0   to   RowCount   -   1  
   
     
   
  Value属性  
   
  Value是一个variant   array,用来指定一个由RowBuffer行和列组成的数据值  
   
  RowBuffer.Value(RowIndex,   ColIndex)   =   Variant  
   
  '   where   RowIndex   =   0   to   RowCount   -   1  
   
  '   and   ColIndex   =   0   to   ColumnCount   -   1  
   
     
   
  ColumnIndex属性  
   
  ColumnIndex是一个variant   array,用来指定一个网格列索引,该属性是只读的。可以在UnboundReadDataEx事件里使用它,来标识哪一个数据列正在被请求。ColumnIndex属性让你判定列的索引,它用于列的标识,为了让用户用适当的列数据填入Value   property   array。  
   
  Col   =   RowBuffer.ColumnIndex(RowIndex,   ColIndex)  
   
  '   where   RowIndex   =   0   to   RowCount   -   1  
   
  '   and   ColIndex   =   0   to   ColumnCount   -   1  
   
     
   
  非绑定模式的事件  
   
  在DataMode   1   –   Unbound,当网格需要判定一个相关书签时,会触发第一个事件。在需要提取数据行时会触发另一个。第一个事件是可选的,并且能被实现用来提高性能;第二个事件是强制性的  
   
  UnboundGetRelativeBookmark:当控件需要检索一个书签时被触发  
   
  UnboundReadData:当控件请求非绑定数据显示时被触发  
   
     
   
  In   DataMode   2   -   Unbound   Extended,网格触发一个单一事件去获得数据和相关书签。这个事件是强制的  
   
  UnboundReadDataEx:当控件需要检索一个书签或请求非绑定数据显示时被触发  
   
     
   
  在模式1和2里,依据最终用户的权限设定,下面三个事件是可选的。  
   
  UnboundWriteData:当网格控件的当前行被修改并且用户确认该修改时被触发。该事件提示你用户想要个性在非绑定数据集合里修改一行。当在代码里网格控件的Updata方面被执行时,也会触发该事件。  
   
     
   
  UnboundAddData:当用户在网格控件的新添加行里输入数据并确认时触发该事件。该事件提示你用户想要在非绑定数据集里添加新的行。  
   
     
   
  UnboundDeleteRow:当用户删除当前网格控件的行时触发该事件。该事件提示你用户想从非绑定数据集里删除一行。当网格控件的Delete方法在代码里执行时,也会触发该事件。  
   
     
   
  UnboundReadDataEx详细描述  
   
  语法:object_UnboundReadDataEx   (ByVal   RowBuf   As   TrueDBGrid60.RowBuffer,   StartLocation   As   Variant,   ByVal   Offset   As   Long,   ApproximatePosition   As   Long)  
   
  事件作用于TDBGrid和TDBDropDown控件  
   
  参数:   RowBuf是一个RowBuffer对象,用来传送数据行到网格。  
   
  StartLocation是一个书签(bookmark),和Offset一起指定数据传送的起始行。一个Null的StartLocation表示从头或从尾开始的数据。例如,如果StartLocation是Null并且Offset是2   (或-2),那么你就会从第二行(或最后两行)开始接收数据。Offset指定相于被传送数据第一行的相关位置,一个绝对数标识从相关位置的位移量。  
   
     
   
  True   DBGrid   Pro   6.0可以让用户在表格中浏览、编辑、添加和删除数据。使用建立在Visual   Studio里最新的的数据绑定技术,包括OLE   DB,True   DBGrid   Pro   6.0有一个完整的管理数据库接口,允许开发者在重要的特殊任务应用程序里集中,True   DBGrid   Pro   6.0还能与程序员自有数据源一起用非绑定或存储模式。  
   
     
   
  True   DBGrid   Pro   6.0设计成一个强大、通用并且易于使用的数据库开发工具,初级程序员可以不用写Top

5 楼jurna(鸟人)回复于 2005-01-26 15:29:56 得分 0

木头人!!  
  再问一个问提:  
    点击时,数据放在那些属性里啊?  
  Top

6 楼viena(维也纳N02)回复于 2005-01-26 15:33:36 得分 0

sorry,没有过这个控件,也没有相关资料  
   
  弄来这么大两块棉花糖,不好意思~Top

7 楼jurna(鸟人)回复于 2005-01-26 15:48:57 得分 0

那谢谢你啦!!!我自己看看!Top

相关问题

  • 关于dbgrid控件中的options属性的问题
  • 控件的属性
  • Picture控件属性
  • query控件的requrstlive属性为true时的问题,
  • 如何控制DBGrid控件中某一字段的显示属性?
  • DBGRid控件强制类型转换后,可以设置其他属性,怎么让这些属性生效?
  • DBGrid 控件
  • DBGrid控件
  • 请问高手已知控件HWND,怎么判断该控件的enable属性是为TRUE还是FALSE
  • 控件的属性问题★☆★

关键词

  • 网格
  • 属性
  • 控件
  • 数据
  • 阵列
  • 数据库
  • 书签
  • rowbuffer
  • 事件
  • 触发

得分解答快速导航

  • 帖主:jurna
  • viena

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo