如何在ASP.net Code.behind中添加文本框列

如何在ASP.net Code.behind中添加文本框列,asp.net,vb.net,Asp.net,Vb.net,从后面的代码中,有没有一种方法可以将DataTable列添加为文本框?在aspx文件中,我添加了一个文本框列,其中包含: <asp.TemplateField> <ItemTemplate> <asp:TextBox ID="myfield" runat="server" Columns="6" /> ... 您正在尝试使用以下3个参数: Public DataColumn Add(ByVal columnName As

从后面的代码中,有没有一种方法可以将DataTable列添加为文本框?在aspx文件中,我添加了一个文本框列,其中包含:

<asp.TemplateField>
       <ItemTemplate>
            <asp:TextBox ID="myfield" runat="server" Columns="6" />
...
您正在尝试使用以下3个参数:

Public DataColumn Add(ByVal columnName As String, ByVal type As Type, ByVal expression As String)
因为第三个表达式是字符串,所以不能使用System.Web.UI.WebControl中的对象添加到该列中。但是,您可以使用代码隐藏中的行索引和列名将textbox文本属性中的整数值添加到DataRowCollection中:

Dim dt As New DataTable()
' declare other 5 columns first
' assume 'Quantity' is the 6th column (index 5)
dt.Columns.Add("Quantity",Type.GetType("System.Int32"))

' example to fill first row (index 0)
' Convert.ToInt32 or Integer.TryParse may be used too
dt(0)("Quantity") = Integer.Parse(myfield.Text)

“DataTable”仅在内存中,没有文本框。不能将DataTable存储为列类型为整数的文本框对象。您需要改用Convert.ToInt32myfield.Text。
Dim dt As New DataTable()
' declare other 5 columns first
' assume 'Quantity' is the 6th column (index 5)
dt.Columns.Add("Quantity",Type.GetType("System.Int32"))

' example to fill first row (index 0)
' Convert.ToInt32 or Integer.TryParse may be used too
dt(0)("Quantity") = Integer.Parse(myfield.Text)