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 调用可能也没有充分的理由。