ASP.NET GridView 不是动态填充的
ASP.NET GridView is not dynamically filled
我正在尝试在 ASP.NET 中创建一个动态绑定的 GridView。
我已经在 aspx 文件中定义了 GridView 本身。但是我需要动态创建的所有列和行。 SQL DataBind 不是我的解决方案,因为我最终需要执行额外的逻辑。
代码如下:
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
代码隐藏:
Protected Sub CreateGrid()
Dim table As DataTable = New DataTable
table.Columns.Add(New DataColumn("Name", GetType(BoundField)))
Dim i As Integer = 0
While i < 10
Dim dr As DataRow = table.NewRow()
dr("Name") = i.ToString()
table.AcceptChanges()
i += 1
End While
GridView1.DataSource = table
GridView1.DataBind()
End Sub
您正在创建行但从未将它们添加到 table:
Protected Sub CreateGrid()
Dim table As New DataTable
table.Columns.Add("Name", GetType(String))
For i = 0 To 9
Dim dr As DataRow = table.NewRow()
dr("Name") = i.ToString()
table.Rows.Add(dr)
Next
table.AcceptChanges()
GridView1.DataSource = table
GridView1.DataBind()
End Sub
我免费进行了一些其他改进。 AcceptChanges
调用可能也没有充分的理由。
我正在尝试在 ASP.NET 中创建一个动态绑定的 GridView。
我已经在 aspx 文件中定义了 GridView 本身。但是我需要动态创建的所有列和行。 SQL DataBind 不是我的解决方案,因为我最终需要执行额外的逻辑。
代码如下:
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
代码隐藏:
Protected Sub CreateGrid()
Dim table As DataTable = New DataTable
table.Columns.Add(New DataColumn("Name", GetType(BoundField)))
Dim i As Integer = 0
While i < 10
Dim dr As DataRow = table.NewRow()
dr("Name") = i.ToString()
table.AcceptChanges()
i += 1
End While
GridView1.DataSource = table
GridView1.DataBind()
End Sub
您正在创建行但从未将它们添加到 table:
Protected Sub CreateGrid()
Dim table As New DataTable
table.Columns.Add("Name", GetType(String))
For i = 0 To 9
Dim dr As DataRow = table.NewRow()
dr("Name") = i.ToString()
table.Rows.Add(dr)
Next
table.AcceptChanges()
GridView1.DataSource = table
GridView1.DataBind()
End Sub
我免费进行了一些其他改进。 AcceptChanges
调用可能也没有充分的理由。