一开始用了msflexgrid控件,想显示一个数据库中的相关数据(并不是所有,某些字段不显示),希望在其中编辑,后来发现用datagrid控件更好,这是我在用msflexgrid控件时写的代码,大家看看如果用msflexgrid控件该怎么写?谢谢
Private Sub FillGrid()
Dim iRow As Integer
iRow = 1
With Grid1
While Not adoRstBasic.EOF
.AddItem ""
.TextMatrix(iRow, 0) = iRow
.TextMatrix(iRow, 1) = convertNull(adoRstBasic!Number)
.TextMatrix(iRow, 2) = convertNull(adoRstBasic!Name)
.TextMatrix(iRow, 3) = convertNull(adoRstBasic!Department)
.TextMatrix(iRow, 4) = convertNull(adoRstBasic!Headship)
.TextMatrix(iRow, 5) = convertNull(adoRstBasic!Postion)
.TextMatrix(iRow, 6) = convertNull(adoRstBasic!DutyState)
adoRstBasic.MoveNext
iRow = iRow + 1 Wend
End With
End Sub
Private Sub FillGrid()
Dim iRow As Integer
iRow = 1
With Grid1
While Not adoRstBasic.EOF
.AddItem ""
.TextMatrix(iRow, 0) = iRow
.TextMatrix(iRow, 1) = convertNull(adoRstBasic!Number)
.TextMatrix(iRow, 2) = convertNull(adoRstBasic!Name)
.TextMatrix(iRow, 3) = convertNull(adoRstBasic!Department)
.TextMatrix(iRow, 4) = convertNull(adoRstBasic!Headship)
.TextMatrix(iRow, 5) = convertNull(adoRstBasic!Postion)
.TextMatrix(iRow, 6) = convertNull(adoRstBasic!DutyState)
adoRstBasic.MoveNext
iRow = iRow + 1 Wend
End With
End Sub
select field1,field2,field3,field4,field5 from tablename
你需要哪些字段就把它们的字段名放在你的select后面,我猜你用的是select * from tablename,这样当然是把所有的字段都提出来了。
Private Sub DataGrid1_KeyPress(KeyAscii As Integer)
If (DataGrid1.Col=0) or (DataGrid1.Col=1) or (DataGrid1.Col=3) or (DataGrid1.Col=4) Then'只许用户编辑第三列。
KeyAscii=0
End If
End Sub