在GridView中对列进行排序

时间:2014-07-10 12:47:47

标签: c# sorting gridview devexpress

我使用这种方法对GridView中的列进行排序

private BandedGridView bandedGridView;

public void SetControlsSortOrder(ColumnSortOrder sortOrder)
        {
            bandedGridView.BeginDataUpdate();
            try
            {
                bandedGridView.SortInfo.ClearSorting();
                bandedGridView.SortInfo.Add(new GridColumnSortInfo(colName, sortOrder));
            }
            finally
            {
                bandedGridView.EndDataUpdate();
            }
        }

sortOrder AscendingDescending方法工作正常时,sortOrderNone表中的列按降序排序。 你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

如果您的colName已分组,则其排序顺序不能设置为ColumnSortOrder.None值,而您的列使用应用于它的最后一个排序顺序。如果您的colName未分组,请检查sort glyph是否看到排序字形,然后将排序应用于您的列。如果您看不到排序字形,则DataSource已经排序为mentioned by Burak Ogutken

此外,对于使用BandedGridView.BeginSortBandedGridView.EndSort方法进行排序。要设置排序顺序,您只需使用BandedGridColumn.SortOrder属性即可。要清除排序,您可以使用BandedGridView.ClearSorting方法 这是一个例子:

public void SetControlsSortOrder(ColumnSortOrder sortOrder)
    bandedGridView.BeginSort();
    try {
       bandedGridView.ClearSorting();
       colName.SortOrder = sortOrder;
    }
    finally {
       bandedGridView.EndSort();
    }
}