VB中有没有这么一个控件:
有点类似于Grid,是一个表格样式的。比如:
现在窗口启动以后,窗体中这个Grid显示,标题栏上分别是学号、姓名、年龄...(比如就这3个标题吧)。然后窗体中就只有这三个标题的表格,类似于一个空表。
然后,我点击“新增”按钮,然后再这三个标题下面弹出来类似于TextBox的空白可以输入内容在里面,然后点击“保存”就把它们存到相应表格里面了。应该很清楚了吧?
有点类似于Grid,是一个表格样式的。比如:
现在窗口启动以后,窗体中这个Grid显示,标题栏上分别是学号、姓名、年龄...(比如就这3个标题吧)。然后窗体中就只有这三个标题的表格,类似于一个空表。
然后,我点击“新增”按钮,然后再这三个标题下面弹出来类似于TextBox的空白可以输入内容在里面,然后点击“保存”就把它们存到相应表格里面了。应该很清楚了吧?
————————————————————————————————————
写作,虽然每个人都会查阅辞海,可,不是人人都能写出不朽的篇章的。编程,如是也。
Private Sub Form_Load()
Adodc1.ConnectionString = "DSN=hxkcgl"
Adodc1.RecordSource = mdh
End Sub
Private Sub cmdAddnew_Click()
Adodc1.Recordset.AddNew
DataGrid1.Visible = False
Text1.SetFocus
cmdSave.Enabled = True
End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If
End SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text3.SetFocus
End If
End SubPrivate Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Adodc1.Recordset.Update
DataGrid1.Visible = True
End If
End Sub
Private Sub MSFlexGrid1_Click()
If MSFlexGrid1.Col <= 5 And MSFlexGrid1.Row <= 12 Then
Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col)
Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row)
Text1.Width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)
Text1.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)
Text1 = MSFlexGrid1.Text
Text1.Visible = True
Text1.SetFocus
End If
End Sub
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
If MSFlexGrid1.Col <= 5 And MSFlexGrid1.Row <= 12 Then
Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col)
Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row)
Text1.Width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)
Text1.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)
Text1 = MSFlexGrid1.Text
Text1.Visible = True
Text1.SetFocus
End If
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyEscape Then
Text1.Visible = False
MSFlexGrid1.SetFocus
Exit Sub
End If
If KeyAscii = vbKeyReturn Then
MSFlexGrid1.Text = Text1.Text
If MSFlexGrid1.Col < 5 Then
MSFlexGrid1.Col = MSFlexGrid1.Col + 1
Else
MSFlexGrid1.Row = MSFlexGrid1.Row + 1
MSFlexGrid1.Col = 1
End If
Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col)
Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row)
Text1.Width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)
Text1.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)
Text1 = MSFlexGrid1.Text
Text1.SetFocus
End If
End Sub
Dim i As Integer
Dim c As Column
For i = 1 To 10
Set c = DataGrid1.Columns.Add(DataGrid1.Columns.Count)
Next
With c
.Visible = True
.Width = 1000
.Alignment = dbgRight
End With
DataGrid1.Columns(0).Width = 500
DataGrid1.Columns(1).Width = 700
DataGrid1.Columns(2).Width = 500
DataGrid1.Columns(3).Width = 500
DataGrid1.Columns(4).Width = 1100
DataGrid1.Columns(5).Width = 1100
DataGrid1.Columns(6).Width = 800
DataGrid1.Columns(7).Width = 900
DataGrid1.Columns(8).Width = 1500
DataGrid1.Columns(9).Width = 800
DataGrid1.Columns(10).Width = 1100
DataGrid1.Columns(11).Width = 1200
DataGrid1.Columns(12).Width = 800
'设置标题
DataGrid1.Columns(0).Caption = "学号" 、、
DataGrid1.Columns(1).Caption = "姓名"
DataGrid1.Columns(2).Caption = "年龄"
......