如何以绑定形式显示默认值?

时间:2014-01-29 18:08:37

标签: vb.net

我有一个绑定到数据表的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属性相关的默认值?

1 个答案:

答案 0 :(得分:1)

尝试设置DataColumn的DefaultValue属性:

DataTable.Columns("ID").DefaultValue = 0
DataTable.Columns("NAME").DefaultValue = "Test"