【发布时间】:2014-01-29 18:08:37
【问题描述】:
我有一个绑定到数据表的 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 中使用默认值向数据表添加一个新行。我有两种方法。
第一种方法
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 属性相关的默认值吗?
【问题讨论】:
标签: vb.net