将下拉列表添加到gridview中的列

时间:2013-12-19 15:10:45

标签: c# asp.net .net

我有一个网格,我想设置一个带有和&的下拉列表某些专栏没有。我无法像下面提到的那样放下下拉列表。因为我在网格中使用复选框来编辑行。因此,即使我放了这些,当我单击复选框进行编辑时,我也无法看到下拉列表。

<asp:TemplateField HeaderText="Lead" ItemStyle-Width="100">
    <ItemTemplate>
        <asp:Label ID="lblLead" runat="server" Text='<%# Bind("Lead") %>'></asp:Label>
        <asp:TextBox ID="txtLead" runat="server" Text='<%# Bind("Lead") %>' Visible="false"></asp:TextBox>
    </ItemTemplate>
    <ItemStyle Width="100px" />
    <EditItemTemplate>
        <asp:DropDownList id="ddlLead" runat="server">
            <asp:ListItem Value="Yes"> Yes </asp:ListItem>
            <asp:ListItem Value="No"> No </asp:ListItem> 
        </asp:DropDownList>
    </EditItemTemplate>
</asp:TemplateField>

2 个答案:

答案 0 :(得分:0)

试试这个

protected void grdVw_RowEditing(object sender, GridViewEditEventArgs e)
        {
          grdVw.EditIndex = e.NewEditIndex;

            /* Insert specific editing logic here */

            grdBind();//method to bind gridview
        }

答案 1 :(得分:0)

首先,您必须确保将模式设置为“编辑”。为此我使用默认按钮,你使用复选框,它们都应该工作:

<asp:GridView ID="GridView1" runat="server" OnRowEditing="GridView1_RowEditing">
    <Columns>
        <asp:CommandField ShowEditButton="True" />
        <%--Other columns here--%>
    </Columns>
</asp:GridView>

然后,您需要处理RowEditing事件,方法是将EditIndex设置为您要编辑的行的索引,然后重新绑定GridView:

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView1.EditIndex = e.NewEditIndex;
    setDataSource(); //this sets the data source of the grid, and re-binds it.
}