如何在GridView中实现双向排序,条件是我的GridView不是绑定到SQL而是绑定到datatable-column-row&数据集。
谢谢!
答案 0 :(得分:0)
第一次绑定时,将数据表置于Viewstate中。
gridView1.DataBind();
ViewState["dtbl"] = YourDataTable
这是代码,允许你这样做......
protected void ComponentGridView_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dataTable = ViewState["dtbl"] as DataTable;
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
dataView.Sort = e.SortExpression + " " + ConvertSortDirection(e.SortDirection);
ComponentGridView.DataSource = dataView;
ComponentGridView.DataBind();
}
}
private string ConvertSortDirection(SortDirection sortDirection)
{
string newSortDirection = String.Empty;
switch (sortDirection)
{
case SortDirection.Ascending:
newSortDirection = "ASC";
break;
case SortDirection.Descending:
newSortDirection = "DESC";
break;
}
return newSortDirection;
}
有关详情,请参阅此MSDN文章GridView.Sorting
答案 1 :(得分:0)
在数据绑定方法中,您将初始化视图状态,然后在排序事件中,您将执行以下操作。
{{1}}