前几天在遇到这么个情况:当GridView处于浏览状态的时候,该列显示结果,当点击编辑的时候,该列变为可以选择的RadioButtonList列,从网上查了许多资料,也问了下朋友,特在这总结下我的心得。
前台页面代码:
<asp:TemplateField HeaderText="是否公开" ItemStyle-Width="100">
<ItemTemplate><asp:Label ID="Label_visible" runat="server" Text='<%# Bind("visible") %>'></asp:Label></ItemTemplate>
<EditItemTemplate><asp:RadioButtonList ID="RadioButtonList_visible" runat="server" RepeatDirection="Horizontal"><asp:ListItem Text="是" Value="是"></asp:ListItem><asp:ListItem Text="否" Value="否"></asp:ListItem></asp:RadioButtonList></EditItemTemplate>
</asp:TemplateField>RowDataBound事件如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
...{
if ((RadioButtonList)e.Row.Cells[1].FindControl("RadioButtonList_visible") != null)
...{
//我的例子中第二列放RadioButtonList
RadioButtonList list = (RadioButtonList)e.Row.Cells[1].FindControl("RadioButtonList_visible");
//默认选项放在ViewState中,也可以用其他方式提供它的默认项
if (ViewState["visible"] != null)
...{
list.SelectedValue = ViewState["visible"].ToString();
}
}
}
本文介绍如何在ASP.NET GridView控件中实现列在浏览状态显示数据,在编辑状态变为RadioButtonList的选择方式,并提供了RowDataBound事件的具体实现。
1044

被折叠的 条评论
为什么被折叠?



