我正在从存储过程返回的DataTable中创建动态GridView。我使用以下代码调用并绑定:
DataTable dt = Sql.reportData(Convert.ToInt32(Session["userID"]));
this.GridView1.DataSource = dt.DefaultView;
this.GridView1.DataBind();
我需要重新设置某些列但它们并不总是相同的列号,并且只有标题文本字符串来标识它。有没有一种简单的方法可以像这样跟踪一列,这样我就可以编辑它的属性了?
谢谢, 亚历
答案 0 :(得分:2)
我自己也遇到了这个问题。你必须遍历列名,获取索引,然后引用索引来操作样式。
穆罕默德对时机的看法是正确的,但你不会在寻找标签 - 似乎你想要整个专栏的样式,对吗?
http://forums.asp.net/p/1076872/1584635.aspx
上面有几个版本的解决方案。
答案 1 :(得分:0)
找到控件并使用它的最佳位置将在RowCreated事件中。不应使用RowDataBound,因为您不必操纵与列绑定的数据。因此,通过在RowCreated事件中搜索它们来重新设置列中的元素。
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.FindControl("");
}