在EditItemTemplate gridview中的下拉列表中获取预先选择的文本

时间:2013-07-01 05:37:27

标签: c# asp.net gridview drop-down-menu edititemtemplate

我无法在编辑模板的下拉列表中获取预选文本。请看我的代码:

<EditItemTemplate>
   <asp:DropDownList ID="droplist" runat="server">
   </asp:DropDownList>
</EditItemTemplate>

c#c​​ode

protected void gvDetails_RowDataBound(object sender, GridViewRowEventArgs e)
{
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if ((e.Row.RowState & DataControlRowState.Edit) > 0)
            {
                DropDownList droplist = (DropDownList)e.Row.FindControl("droplist");
                droplist.DataSource = EquipmentBLL.getunitdrop();
                droplist.DataTextField = "UnitName";
                droplist.DataValueField = "UnitID";
                droplist.DataBind();
                droplist.Items.Insert(0, new ListItem(" Select Unit ", "0"));
                //droplist.Items.FindByText(unittypetext).Selected = true;
            }
        }
}

有人可以告诉我应该做些什么来获得预先选择的下拉菜单吗?

问候 侯赛因

1 个答案:

答案 0 :(得分:0)

现在,您正在使用数据源中的选项填充DropDownList。但是,您没有将选定值绑定到任何内容。

无论您正在做什么来绑定Gridview中的其他字段,也要为DropDownList的SelectedValue执行此操作。

如果没有看到GridView标记的其余部分,我认为这样的事情应该有效:

<EditItemTemplate>
   <asp:DropDownList ID="droplist" runat="server" 
        SelectedValue='<%# Bind("UnitID") %>' >
   </asp:DropDownList>
</EditItemTemplate>

上面的“UnitID”是GridView数据源中要绑定到DropDownList的SelectedValue的字段的名称。