我不知道,如何在我的复合控件中放置的动态创建的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);
}
现在,我可以单击"标头"并分类。当然,如果有人提供更好的解决方案,我会很高兴。