【问题标题】:asp.net finding column from dynamic gridview来自动态gridview的asp.net查找列
【发布时间】:2009-11-05 15:23:24
【问题描述】:

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

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

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

谢谢, 亚历克斯

【问题讨论】:

    标签: c# asp.net gridview datatable


    【解决方案1】:

    我自己也遇到过。您必须遍历列名,获取索引,然后参考索引来操作样式。

    Muhammad 对时机的看法是正确的,但您不会搜索标签 - 似乎您想要设置整个列的样式,对吧?

    http://forums.asp.net/p/1076872/1584635.aspx

    上面有几个版本的解决方案。

    【讨论】:

    【解决方案2】:

    找到控件并使用它的最佳位置是在 RowCreated 事件中。不应使用 RowDataBound,因为您不必操作与列绑定的数据。因此,通过在 RowCreated 事件中搜索列中的元素来重新设置它们的样式。

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
      e.Row.FindControl("");
    } 
    

    【讨论】:

      猜你喜欢
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      相关资源
      最近更新 更多