0

ドロップダウンリストのある列をDataGridに追加しようとしています

DataGridバインディングデータソースのコードは次のとおりです

        List<CPDEmployee> employeelist = (List<CPDEmployee>)Cache["EmployeeList"];

        unverifiedlist.DataSource = employeelist;
        unverifiedlist.DataBind();
        unverifiedlist.AllowPaging = true;
        unverifiedlist.PageSize = 10;

page.aspxコードは次のようになります

 <asp:DataGrid ID="unverifiedlist" runat="server" AllowPaging="true" PageSize="10" OnPageIndexChanged="unverifiedlist_PageIndexChanged">
            <Columns>
                <asp:BoundColumn HeaderText="Surname" DataField="Surname" ReadOnly="true">   
                </asp:BoundColumn>
            </Columns>
            <Columns>
                <asp:TemplateColumn HeaderText="Options" >
                    <ItemTemplate>
                        <asp:DropDownList ID="options" runat="server">
                            <asp:ListItem Value="1">Verified</asp:ListItem>
                            <asp:ListItem Value="0">Rejected</asp:ListItem>
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateColumn>
                <asp:TemplateColumn HeaderText ="Reason">
                    <ItemTemplate>
                        <asp:TextBox ID="reason" runat="server"></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateColumn>
            </Columns>
        </asp:DataGrid>

ここに画像の説明を入力してください

その結果、データグリッドに2つの「Surname」フィールドがあります。ページ側から「Surname」を追加した理由は、列の順序を設定できないためです(ドロップダウンリストがついに表示されるはずです)。

誰かがこの問題を解決する方法を知っていますか?どうもありがとう

4

1 に答える 1

1

AutoGenerateColumnsをオフにして、すべてのバインドされたフィールドを指定する必要があります。

于 2012-04-30T18:43:44.080 に答える