我是编程新手。我正在创建一个程序,它动态地将 UserControl 添加到 Gridview 模板中,并且我想将数据表中的值传递给 UserControl 的属性。Gridview 中的 TemplateField 已经预加载了 1 个用户控件,如果我单击一个按钮,这将添加一个带有编号的新 UserControl。
这是 FormLoad 事件页面中的代码。
Dim dtSESRatings As New DataTable
dtSESRatings.Columns.Add("IncrementNumber")
dtSESRatings.Rows.Add("1")
ViewState("dtSESRatings") = dtSESRatings
gvSesRating.DataSource = dtSESRatings
gvSesRating.DataBind()
我想将该行添加到用户控件中的编号标签,这是在 SESRatings.ascx 上设置的 IncrementNumber 属性。这是asp代码:
<asp:GridView ID="gvSesRating" runat="server" Width="100%" ShowHeader="false" GridLines="None"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<ses:SESRatings runat="server" ID="ses1" IncrementNumber="1" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在 FormLoad 之后,单击“添加新评级”按钮后,应该在 gridview 中创建一个新的用户控件,代码在这里:
Protected Sub btnAddRating_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAddRating.Click
Dim dt As DataTable = ViewState("dtSESRatings")
Dim dtCnt As Integer = dt.Rows.Count
dtCnt += 1
dt.Rows.Add(dtCnt)
ViewState("dtSESRatings") = dt
gvSesRating.DataSource = dt
gvSesRating.DataBind()
dt = Nothing
End Sub
我希望将添加到 GridView 中的用户控件将获取 dtCnt 并将其传递给用户控件的 IncrementNumber 属性。我怎样才能做到这一点?请帮忙。谢谢。