datagrid控件可以当作数据表格来使用,所以我用DATAGRID控件做了个可以录入单据的窗体,要求象其他软件一样在一行最末的时候 敲击ENTER 键可继续下一行的录入,窗体上还有3个TEXT 控件的值是要记录到数据库中的。以下是我的体会。
DATAGRID 控件必须绑定到数据源才可以编辑,且RS 打开方式为可更新。在一条记录的结尾点击上一行或下箭头会自动添加一行,本行数据会自动添加到数据库中。
问题: 1:我需要添加的信息包括窗体上的 TEXT 控件值,如何一起添加进去呢
2:添加的信息一般是要验证的,可是DATAGRID的绑定功能无法进行数据验证
3:如何自动控制 DATAFRID 加一行,列可以用 .Columns.Add 方法添加,行呢?我做的就是采购或销售中单据的录入功能,请问大家在做这些模块中用什么样的控件或者如何用DATAGRID? 十分感谢,问题结束就结贴。
DATAGRID 控件必须绑定到数据源才可以编辑,且RS 打开方式为可更新。在一条记录的结尾点击上一行或下箭头会自动添加一行,本行数据会自动添加到数据库中。
问题: 1:我需要添加的信息包括窗体上的 TEXT 控件值,如何一起添加进去呢
2:添加的信息一般是要验证的,可是DATAGRID的绑定功能无法进行数据验证
3:如何自动控制 DATAFRID 加一行,列可以用 .Columns.Add 方法添加,行呢?我做的就是采购或销售中单据的录入功能,请问大家在做这些模块中用什么样的控件或者如何用DATAGRID? 十分感谢,问题结束就结贴。
Private Sub DataGrid1_Click()
DataGrid1.Refresh
If Adodc1.Recordset.EOF Then
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox "库中没有记录。"
Exit Sub
End If
Adodc1.Recordset.MoveFirst
End If
Text1.Text = Adodc1.Recordset(0)
Text2.Text = Adodc1.Recordset(1)
Text3.Text = Adodc1.Recordset(2)
End Sub
...在“保存”命令按钮中设置:
Adodc1.Recordset.AddNew
Adodc1.Recordset(0) = Text1.Text
Adodc1.Recordset(1) = Text2.Text
Adodc1.Recordset(2) = Text3.Text
Adodc1.Recordset.Update
...2、可在文本框输入时进行校验,不通过就提示,通过就存在数据源中:
Private Function inputverify() As Boolean
inputverify = True
If Text1.Text = "" Then
MsgBox "不能为空!"
Text1.SetFocus
inputverify = False
End If
...在“保存”命令按钮中设置:
If inputverify = False Then
Exit Sub
End If
...3、只要成功在数据源中添加记录了,同步更新datagrid显示出来就行了。
//
select * from ID,Name from jobs",conn,3,3
rs.addnew
rs("Name")=text1.text
rs.update2:添加的信息一般是要验证的,可是DATAGRID的绑定功能无法进行数据验证
//可以在
Private Sub DataGrid1_BeforeUpdate(Cancel As Integer)End Sub
等事件中间进行验证
3:如何自动控制 DATAFRID 加一行,列可以用 .Columns.Add 方法添加,行呢?
addnew一列全空数据就ok
记得一个datagrid是对recordset的操作,它本身使用性很小,建议你使用其他的控件
有关DATAGRID控件的问题还有很多,用到的比如如何内嵌控件等,搞的我头疼。
其实我不喜欢DATAGRID的数据绑定功能,它非要绑定一个recordset才能编辑,查了资料才发现它是数据绑定控件,没了数据源它就干不了事了。