ASP.NET DataGrid - 如何在呈现之前访问列数?

问题描述:

我有一个数据网格,以编程方式填充列。我需要访问列以在渲染之前修改排序表达式,但在尝试访问它们的每个阶段中列计数为0。破发点被击中,但伯爵的每个检查= 0ASP.NET DataGrid - 如何在呈现之前访问列数?

曾尝试以下,在页/控制生命周期的各个阶段访问,但在任何情况下,列数为0

有任何想法吗?

protected void Page_PreRenderComplete(object sender, EventArgs e) 
    { 
     if (dgPriceInfo != null) 
     { 
      if (dgPriceInfo.Columns.Count > 0) 
      { 
       dgPriceInfo.Columns[0].SortExpression = ""; 
      } 
     } 
    } 

protected void Page_SaveStateComplete(object sender, EventArgs e) 
{ 
    if (dgPriceInfo != null) 
    { 
     if (dgPriceInfo.Columns.Count > 0) 
     { 
      dgPriceInfo.Columns[0].SortExpression = ""; 
     } 
    } 
} 

protected void Page_Render(object sender, EventArgs e) 
{ 
    if (dgPriceInfo != null) 
    { 
     if (dgPriceInfo.Columns.Count > 0) 
     { 
      dgPriceInfo.Columns[0].SortExpression = ""; 
     } 
    } 
} 

protected void DataGrid_OnPreRender(object sender, EventArgs e) 
{ 
    DataGrid dg = sender as DataGrid; 

    if (dg != null) 
    { 
     if (dg.Columns.Count > 0) 
     { 
      dg.Columns[0].SortExpression = ""; 
     } 
    } 
} 
+0

显示代码在哪里动态填充具有列的网格 – 2010-10-01 09:34:02

当您以编程方式添加列时,是否可以设置列的排序表达式?