我使用这种方法对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
Ascending
或Descending
方法工作正常时,sortOrder
为None
表中的列按降序排序。
你能帮我解决这个问题吗?
答案 0 :(得分:2)
如果您的colName
已分组,则其排序顺序不能设置为ColumnSortOrder.None
值,而您的列使用应用于它的最后一个排序顺序。如果您的colName
未分组,请检查sort glyph是否看到排序字形,然后将排序应用于您的列。如果您看不到排序字形,则DataSource
已经排序为mentioned by Burak Ogutken。
此外,对于使用BandedGridView.BeginSort
和BandedGridView.EndSort
方法进行排序。要设置排序顺序,您只需使用BandedGridColumn.SortOrder
属性即可。要清除排序,您可以使用BandedGridView.ClearSorting
方法
这是一个例子:
public void SetControlsSortOrder(ColumnSortOrder sortOrder)
bandedGridView.BeginSort();
try {
bandedGridView.ClearSorting();
colName.SortOrder = sortOrder;
}
finally {
bandedGridView.EndSort();
}
}