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

Winforms Telerik RadGridView仅对列标题进行排序单击,winforms,telerik,radgridview,Winforms,Telerik,Radgridview,我对一列进行排序。然后编辑该列中的一个值-行自动重新定位自身 如果我在编辑之前禁用该列(甚至整个网格)的排序,并在中更改值时重新启用它 CellValueChanged事件,它将再次排序 如何仅在单击列标题时进行网格排序 编辑: 我接受了下面的建议作为答案,因为我正朝着同一个方向看,但为了让可能偶然发现这一点的人更清楚,下面是我在VB.net中的实现。网格必须具有EnableCustomSorting=True Private Sub grid_CellClick(sender As Objec

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

如果我在编辑之前禁用该列(甚至整个网格)的排序,并在中更改值时重新启用它 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

如果需要一次性排序,则应在数据源中对对象重新排序(在列表中移动对象,或通过按新顺序添加项创建新对象,然后反弹)

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