将列添加到数据网格

时间:2012-04-30 18:41:00

标签: asp.net

我正在尝试将带有下拉列表的列添加到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>

enter image description here

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

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

1 个答案:

答案 0 :(得分:1)

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