在gridview asp.net的编辑模式下为DropDownList设置选定的值或文本

时间:2013-06-25 05:10:16

标签: asp.net gridview drop-down-menu editmode

在gridview中,要以查看模式显示数据,我使用标签。

在编辑模式下,我有一个下拉列表。那么,当gridview处于编辑模式时,如何将该标签中的文本设置为下拉列表的选定值?

这是我在aspx页面中的代码:

<Columns>             
<asp:BoundField DataField="id" HeaderText="ID" ReadOnly="true" />
<asp:TemplateField HeaderText="Zone Name">
<HeaderStyle Width="220px"></HeaderStyle>
<ItemTemplate>
<asp:Label ID="lbDisplayName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
</ItemTemplate>

<EditItemTemplate>
<asp:DropDownList ID="ddlName" runat="server" CssClass="customddlZoneName">
<asp:ListItem Value="">--Select Zone Name--</asp:ListItem>
<asp:ListItem Value="Value1">Text 1</asp:ListItem>
<asp:ListItem Value="Value2">Text 2</asp:ListItem>
<asp:ListItem Value="Value3">Text 3</asp:ListItem>
<asp:ListItem Value="Value4">Text 4</asp:ListItem>
<asp:ListItem Value="Value5">Text 5</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="ddlInsertName" runat="server">
<asp:ListItem Value="">--Select Zone Name--</asp:ListItem>
<asp:ListItem Value="Value 1">Text 1</asp:ListItem>
<asp:ListItem Value="Value 2">Text 2</asp:ListItem>
<asp:ListItem Value="Value 3">Text 3</asp:ListItem>
<asp:ListItem Value="Value 4">Text 4</asp:ListItem>
<asp:ListItem Value="Value 5">Text 5</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>

1 个答案:

答案 0 :(得分:1)

我的意思是当我将网格视图置于编辑模式时,我不希望我的下拉列表显示“ - 选择区域名称 - ”。我希望它显示“文本1”,2,3或4 ...它在我的标签视图模式中显示。你可以在Gridview_RowEditing事件中执行此操作。请参阅以下代码:

protected void Gridview_RowEditing(object sender, GridViewEditEventArgs e)
{
    Label lbDisplayName = (Label)Gridview.Rows[e.NewEditIndex].FindControl("lbDisplayName");
    string name = lbDisplayName.Text;

    GridViewRow gvr = Gridview.Rows[e.NewEditIndex];
    var dr = (DropDownList)gvr.FindControl("ddlName");
    dr.SelectedItem.Text = name;
}