gridview中的双向排序

时间:2011-07-25 07:10:30

标签: c# .net asp.net sorting gridview

如何在GridView中实现双向排序,条件是我的GridView不是绑定到SQL而是绑定到datatable-column-row&数据集。

谢谢!

2 个答案:

答案 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}}