Asp.net 为AutoGenerateColumn GridView指定标题文本
我有一个自动生成列的gridview(有一个Asp.net 为AutoGenerateColumn GridView指定标题文本,asp.net,c#-4.0,gridview,Asp.net,C# 4.0,Gridview,我有一个自动生成列的gridview(有一个列表数据源),现在我需要的是为它的列指定HeaderText。我在谷歌上搜索了很多,检查了前面的一些问题,结果发现自动生成的网格没有列集合,最后我在本文之后创建了一个自定义网格 现在我在属性BoundColumns中获取列集合,我尝试在PageLoad,RowDataBound事件上设置HeaderText属性,但都是徒劳的,我需要知道我可以将此代码放在哪个事件上使其工作 gridUsers.BoundColumns[0].Vi
列表
数据源),现在我需要的是为它的列指定HeaderText
。我在谷歌上搜索了很多,检查了前面的一些问题,结果发现自动生成的网格没有列集合,最后我在本文之后创建了一个自定义网格
现在我在属性BoundColumns
中获取列集合,我尝试在PageLoad
,RowDataBound
事件上设置HeaderText属性,但都是徒劳的,我需要知道我可以将此代码放在哪个事件上使其工作
gridUsers.BoundColumns[0].Visible = false;
gridUsers.BoundColumns[1].HeaderText = "Login ID";
gridUsers.BoundColumns[2].HeaderText = "User Name";
gridUsers.BoundColumns[3].Visible = false;
gridUsers.BoundColumns[4].HeaderText = "User Email";
gridUsers.BoundColumns[5].HeaderText = "User Status";
gridUsers.BoundColumns[6].HeaderText = "User Role";
注意:可见属性在页面加载时起作用。非常感谢您的帮助。是的,您可以按如下方式进行操作
protected void GridView1_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
GridView1.Columns[0].HeaderText = "your header text name";
}
}
您不必执行自动生成的列,尤其是如果要手动设置标题。将数据源更改为具有正确列标题的返回值,或使用
..
手动指定列(并设置AutoGenerateColumns=false
)
在大多数情况下,您可以在RowDataBound事件期间更改标题和列,但如果您使用声明性语法,或者除非您有特殊的呈现要求,则无需更改标题和列。是的,我想
BoundField
是实现此目的的标准方法。。。谢谢你的建议。