0

ユーザーがドロップダウンからいくつかの選択を行った後、コードビハインドに入力される1つの境界フィールドを持つグリッドビューがあります。これは問題なく入力されていますが、TemplateFieldsにチェックボックスが付いた他の2つの列もあります。これらは、このグリッドビューに表示されることはありません。これが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>
4

1 に答える 1

2

問題を見つけました。チェックボックスをラップしました

<asp:ItemTemplate>

あるべきだったとき

<ItemTemplate>  

この変更を行うと、問題はすぐに修正されました。

于 2013-01-09T21:03:11.043 に答える