先说明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
在Datagrid中双击某行,可以准确取得当前行某个字段的值(其中一个单元格:也就是对应你数据库的这个字段,你怎么设置这一列是哪个字段就是第几个字段)。要显示这个值时,使用:text1.text=Adodc1.Recordset.fields("你的字段名或以0为起始的序号")
楼上的可能都不行,你要"双击",看样子只能用js实现,楼上都是在服务器端的代码,行吗?