asp.net从动态gridview中查找列

时间:2009-11-05 15:23:25

标签: c# asp.net gridview datatable

我正在从存储过程返回的DataTable中创建动态GridView。我使用以下代码调用并绑定:

DataTable dt = Sql.reportData(Convert.ToInt32(Session["userID"]));
this.GridView1.DataSource = dt.DefaultView;
this.GridView1.DataBind();

我需要重新设置某些列但它们并不总是相同的列号,并且只有标题文本字符串来标识它。有没有一种简单的方法可以像这样跟踪一列,这样我就可以编辑它的属性了?

谢谢, 亚历

2 个答案:

答案 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("");
}