1

在 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>
4

1 回答 1

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;
}
于 2013-08-15T02:21:54.153 回答