在用户从下拉列表中进行一些选择后,我有一个带有一个边界字段的网格视图,该字段在代码隐藏中填充。这填充得很好,但我在 TemplateFields 中还有另外两列带有复选框。这些永远不会显示在此网格视图中。这是aspx:
<asp:UpdatePanel ID="clientServerUpdatePanel" runat="server">
<ContentTemplate>
<asp:GridView ID="clientServerGridView" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="Operating System" DataField="OS" />
<asp:TemplateField HeaderText="Client" >
<asp:ItemTemplate>
<asp:CheckBox runat="server" ID="clientCheckBox" Checked="false" />
</asp:ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Server">
<asp:ItemTemplate>
<asp:Checkbox runat="server" ID="serverCheckBox" Checked="false" />
</asp:ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
这是放置在单击事件处理程序中的相关代码隐藏:
Dim dt As DataTable = New DataTable()
dt.Columns.Add(New DataColumn("OS", System.Type.GetType("System.String")))
For Each OSItem As ListItem In Me.defaultOSesListBox.Items
If Not OSItem.Selected Then
Continue For
End If
Dim dr As DataRow = dt.NewRow()
Dim os As String = OSItem.Text
dr("OS") = os
dt.Rows.Add(dr)
Next
Me.clientServerGridView.DataSource = dt
Me.clientServerGridView.DataBind()
有谁知道我的问题的根源是什么?
编辑:我需要包含复选框
<ItemTemplate>
代替
<asp:ItemTemplate>