Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET DataGrid-如何在呈现前访问列计数?_.net_Asp.net - Fatal编程技术网

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

ASP.NET DataGrid-如何在呈现前访问列计数?,.net,asp.net,.net,Asp.net,我有一个datagrid,其中列是通过编程填充的。在渲染之前,我需要访问列以修改排序表达式,但在我尝试访问它们的每个阶段,列计数都是0。断点被命中,但计数的每次检查都=0 已尝试以下操作,在页/控件生命周期的各个阶段访问,但在所有情况下,列计数均为0 有什么想法吗 protected void Page_PreRenderComplete( object sender, EventArgs e ) { if (dgPriceInfo != null) {

我有一个datagrid,其中列是通过编程填充的。在渲染之前,我需要访问列以修改排序表达式,但在我尝试访问它们的每个阶段,列计数都是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 = "";
        }
    }
}

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

显示用列动态填充网格的代码