按住Ctrl键选择记录可多选,但好象不能同时删除
解决方案 »
- 求助:哪位大哥有带有scroolbar的picture控件或VB源码?
- 如何去掉对话框图标
- 世上没有好用的网格控件吗?
- 急求:从excel导入sql sercer2000数据库
- ActiveX部件不能创建对象应该如何解决?
- 关于Printer对象的问题!
- 一个Function,大家帮我看看大约什么意思好吗,谢谢啦,拜托了!
- 请教SetMenu函数的定义及用法.
- 在DATAGRID中怎么定位记录号?
- 请问哪些朋友看过台湾王国荣老师写的书,欢迎大家说说看后的心得。
- 如果有两个datagrid,内容都一样,当我在一个datagrid中选中时,如何在另外的datagrid中也选中相应的行,并高亮显示
- 我是mcsd(vb),ccna,ccnp(差一门没过),进华为有戏吗?实习可以吗?高分赠送!!!
回复人: acptvb(微软全球技术中心 VB技术支持) ( ) 信誉:95 2002-07-12 13:46:00 得分:0
感谢您使用微软产品。DataGrid对象的SelBooks属性保存了选中的多行记录的books,您可以用SelBooks集合的Add方法把多行记录设为选定。如果您希望通过按下shift+鼠标左键,一次选取datagrid中的多条记录,您需要计算要选入的记录相对于当前活跃记录的位置,作为DataGrid对象的GetBook方法的参数,获得该行的BookMark,再使用DataGrid1.SelBooks的Add方法,API函数GetKeyState用于判断shift键的状态,做出相应的操作。如下例,Private Const VK_SHIFT = &H10
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As IntegerPrivate last_selPrivate Sub Form_Load()
last_sel = 0
End SubPrivate Sub DataGrid1_SelChange(Cancel As Integer) If GetKeyState(VK_SHIFT) < 0 Then
relative = last_sel - DataGrid1.Row
Text1.Text = relative
If relative < 0 Then
For j% = relative To -1
DataGrid1.SelBooks.Add (DataGrid1.GetBook(j%))
Next j%
Else
For j% = 1 To relative
DataGrid1.SelBooks.Add (DataGrid1.GetBook(j%))
Next j%
End If
Else
last_sel = DataGrid1.Row
Text1.Text = last_sel
End IfEnd Sub选中多条记录后,SelBooks记录了被选中记录的位置,您可以利用它来操作记录,如下例删除所选的多条记录。
Sub DeleteRows()
Dim varBmk As Variant
For Each varBmk In DataGrid1.SelBooks
Data1.Recordset.Book = varBmk
Data1.Recordset.Delete
Data1.Refresh
Next
End Sub详细信息请参考:
Add Method (Columns, SelBooks, Splits Collections)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/DBGrid98/html/damthinsert.aspSelBooks Collection
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/DBGrid98/html/daobjselbooks.aspSelBooks Property Example
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/DBGrid98/html/daproselbooksx.aspGetKeyState
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/keybinpt_4z51.asp
- 微软全球技术中心 VB技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。