Telerik RadGridView仅对列标题单击进行排序

时间:2017-06-20 10:15:21

标签: winforms telerik radgridview

我排序一列。然后编辑该列中的一个值 - 该行自动重新定位。

如果我在编辑之前禁用对该列(甚至整个网格)的排序,并在更改值时将其重新打开 CellValueChanged事件,它再次排序。

如何仅在单击列标题时才进行网格排序?

编辑:

我接受了下面的建议,因为我正朝着同一个方向寻找答案,但是为了让那些可能偶然发现的人更清楚,这是我在VB.net中的实现。网格必须具有EnableCustomSorting = True。

Private Sub grid_CellClick(sender As Object, e As GridViewCellEventArgs) Handles grid.CellClick
    If TypeOf sender Is GridHeaderCellElement Then

        If dtGrid.DefaultView.Sort = e.Column.Name + " ASC" Then
            dtGrid.DefaultView.Sort = e.Column.Name + " DESC"
            'This line displays "down arrow" in column header, but makes sorting much slower for some reason.
            'e.Column.SortOrder = RadSortOrder.Descending
        Else
            dtGrid.DefaultView.Sort = e.Column.Name + " ASC"
            'e.Column.SortOrder = RadSortOrder.Ascending
        End If

    End If
End Sub

1 个答案:

答案 0 :(得分:0)

如果你想要一次性排序,你应该重新排序数据源中的对象(移动列表中的对象或通过以新顺序添加项目然后反弹来创建一个新对象)。

然后,当然,您必须使用列标题上的click事件处理此问题。