我有一个绑定到数据表的VB.Net表单。
让我们假设以下数据表:
Dim DataTable As New DataTable
DataTable.Columns.Add(New DataColumn("ID"))
DataTable.Columns.Add(New DataColumn("NAME"))
DataTable.Columns("ID").AllowDBNull = False
DataTable.Columns("NAME").AllowDBNull = False
表单有两个绑定到数据表的文本框:
Me.TextBox1.DataBindings.Add("text", DataTable, "ID")
Me.TextBox2.DataBindings.Add("text", DataTable, "NAME")
现在我想在ID中添加一个新行,并在ID中使用默认值。我有两种方法可以做到。
Me.DataTable.Rows.Add()
此方法不起作用。它引发了错误:列'ID'不允许空值。
Dim NewRow As DataRow
NewRow = DataTable.NewRow
'Add ID default value
NewRow.Item("ID") = 1
.
.
.
'Once the user filled the field Name
NewRow.Item("NAME") = TextBox2.text
DataTable.Rows.add(NewRow)
第二种方法的问题在于,受影响的默认值没有出现在ID文本框中,这是非常正常的,因为此行尚未添加数据表。如果列“NAME”尚未填充,我也不能将它添加到数据表中。
这是否意味着我永远不会在表单中显示默认值?
有没有人知道如何在表单上显示与AllowDBNull属性相关的默认值?
答案 0 :(得分:1)
尝试设置DataColumn的DefaultValue属性:
DataTable.Columns("ID").DefaultValue = 0
DataTable.Columns("NAME").DefaultValue = "Test"