Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
C# 允许在复合控件中进行GridView排序_C#_Asp.net_Gridview_Composite Controls - Fatal编程技术网

C# 允许在复合控件中进行GridView排序

C# 允许在复合控件中进行GridView排序,c#,asp.net,gridview,composite-controls,C#,Asp.net,Gridview,Composite Controls,我不知道如何在放置在复合控件中的动态创建的GridView中启用排序。当然,我尝试将属性AllowSorting Of GridView设置为“true”,但它不允许排序功能(在标题中没有可以单击的链接按钮)。AllowPaging属性工作正常 有没有办法解决这个问题 protected override void OnInit(EventArgs e) { innerGridView.AutoGenerateColumns = false; innerG

我不知道如何在放置在复合控件中的动态创建的GridView中启用排序。当然,我尝试将属性AllowSorting Of GridView设置为“true”,但它不允许排序功能(在标题中没有可以单击的链接按钮)。AllowPaging属性工作正常

有没有办法解决这个问题

protected override void OnInit(EventArgs e)
    {
        innerGridView.AutoGenerateColumns = false;
        innerGridView.AllowSorting = true;
        innerGridView.AllowPaging = true;
        innerGridView.PageSize = 2;

        base.OnInit(e);
    }

我认为唯一可见的问题是,GridView HeaderRow中没有生成LinkButton。所以我绕过它,将onclick属性设置为HeaderRow中的每个单元格

protected override void Render(HtmlTextWriter writer)
    {
        if (innerGridView.HeaderRow != null)
        {
            for (int i = 0; i < innerGridView.HeaderRow.Cells.Count; i++)
            {
                innerGridView.HeaderRow.Cells[i].Attributes["onclick"] =
                    Page.ClientScript.GetPostBackClientHyperlink(innerGridView, "Sort$" + InnerGridViewDataTable.Columns[i].Caption, true);
            }
        }

        base.Render(writer);
    }
受保护的覆盖无效渲染(HtmlTextWriter)
{
if(innerGridView.HeaderRow!=null)
{
for(int i=0;i

现在我可以点击标题和排序工作。当然,如果有人能提供更好的解决方案,我会很高兴。

您的数据源是否有有效的SortParameterName?是的,它有-当我将数据源绑定到页面上的其他gridview(不在复合控件中)时,它工作得很好。