2012-04-30 63 views
0

我试图用下拉列表添加一列到DataGrid列添加到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

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

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

回答

1

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

+0

它的工作原理,谢谢 – pita