看看这个吧,在窗体上放一个命令按钮command1和一个文本框text1还有个MSFlexGrid 控件grid1
思路是这样的用grid1的每个单元格代表数组的元素,在单元格中输入数据,最后点保存判断每个单元格是否为空,如果不为空则把它的值保存到对应的数组元素中。
text1是为了给grid1输入数据的,因为我以前用的是VSFlexGrid控件,那个可以直接输入数据,这个MSFlexGrid好像不能,所以要用到text1.这个的思路是,当单击某个单元格时就让text1显示到这个单元格的位置来接收数据,接收完后把数据显示到相应的单元格中。
代码如下:
Dim SR(1 To 7, 1 To 10) As Integer
Private Sub Command1_Click()
Dim i, j As Integer
For i = 1 To 7
For j = 1 To 10
If Len(Grid1.TextMatrix(i, j)) <> 0 Then SR(i, j) = Grid1.TextMatrix(i, j)
Next j
Next i
End Sub
Private Sub Form_Load()
Dim i As Integer
Grid1.Cols = 11
Grid1.Rows = 8
Grid1.FixedRows = 1
Grid1.FixedCols = 1
Text1.Text = ""
Text1.Visible = False
For i = 1 To 10
Grid1.TextMatrix(0, i) = i
Next i
For i = 1 To 7
Grid1.TextMatrix(i, 0) = i
Next i
Command1.Caption = "保存"
End Sub
Private Sub Grid1_Click()
With Grid1
c = .Col
r = .Row
Text1.Left = .Left + .ColPos(c)
Text1.Top = .Top + .RowPos(r)
Text1.Width = .ColWidth(c)
Text1.Height = .RowHeight(r)
Text1.Visible = True
Text1.Text = ""
Text1.SetFocus
End With
End Sub
Private Sub Text1_Change()
Grid1.TextMatrix(Grid1.RowSel, Grid1.ColSel) = Text1.Text
End Sub
如果有什么问题请给我留言
温馨提示:答案为网友推荐,仅供参考