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>

在此处输入图像描述

结果是数据网格中有两个“姓氏”字段。我从页面侧添加“姓氏”的原因是我无法设置列的顺序(下拉列表应该是最后的)。

有谁知道如何解决这个问题?非常感谢

4

1 回答 1

1

您必须关闭 AutoGenerateColumns 并指定所有绑定字段。

于 2012-04-30T18:43:44.080 回答