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