1

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

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

c# 代码

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;
            }
        }
}

有人能告诉我我应该怎么做才能获得预选的下拉菜单吗?

问候侯赛因

4

1 回答 1

0

现在,您正在DropDownList使用来自数据源的选项来填充。但是,您没有将它的选定值绑定到任何东西。

无论您在做什么来绑定 ' 中的其他字段,也要GridviewDropDownList's SelectedValue 执行此操作。

在没有看到您的其余GridView标记的情况下,我认为这样的事情应该可以工作:

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

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

于 2013-07-01T14:19:59.523 回答