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

时间:2010-10-01 09:29:05

标签: .net asp.net

我有一个数据网格,其中以编程方式填充了列。我需要访问列来在渲染之前修改排序表达式,但在我尝试访问它们的每个阶段,列计数为0。点击中断点,但每次检查计数= 0。

尝试了以下操作,在页面/控件生命周期的各个阶段进行访问,但在所有情况下,列数都为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 = "";
        }
    }
}

1 个答案:

答案 0 :(得分:0)

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