vb中如何获取datagrid选中行的值?

2024-12-04 07:06:17
推荐回答(3个)
回答1:

先说明datagrid的一些属性,说清楚了,自然解决方法就明了了。

说明:
Bookmark:设置或返回当前的行标签号
DataGrid1.Columns("ProductID").CellText(DataGrid1.Bookmark)

返回当前行中字段为‘ProductID’的值。

在 DataGrid 被连接到一个数据库后,可能想要监视用户单击了哪一个单元。可以使用 RowColChange 事件——而不是 Click 事件。

如;
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)

Debug.Print _DataGrid1.Columns("ProductID").CellValue(DataGrid1.Bookmark)
End Sub

通过这个方法就能获得用户点击的行的某个值。

利用一下方法可以控制datagrid每列的宽度;

Dim c As Column
Set c = DataGrid1.Columns.Add(DataGrid1.Columns.Count)
With c
.Visible = True
.Width = 1000
.Caption = "我的新列"
.DataField = Adodc1.Recordset.Fields("ProductName").Name
.Alignment = dbgRight
End With

下面的代码将删除被单击的列。
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)

DataGrid1.Columns.Remove ColIndex

End Sub

回答2:

在Datagrid中双击某行,可以准确取得当前行某个字段的值(其中一个单元格:也就是对应你数据库的这个字段,你怎么设置这一列是哪个字段就是第几个字段)。要显示这个值时,使用:text1.text=Adodc1.Recordset.fields("你的字段名或以0为起始的序号")

回答3:

楼上的可能都不行,你要"双击",看样子只能用js实现,楼上都是在服务器端的代码,行吗?