在复合控制中允许GridView分类



我不知道,如何在我的复合控件中放置的动态创建的gridview进行排序。当然,我尝试将属性设置为" true"允许将gridview设置为" true",但是它不允许排序功能(标题中没有链接键,我可以单击它)。允许属性效果很好。

有什么想法如何解决这个问题?

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

我认为唯一可见的问题是,Gridview Headerrow中没有生成链接。因此,我通过将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);
    }

现在,我可以单击"标头"并分类。当然,如果有人提供更好的解决方案,我会很高兴。

最新更新