Telerik RadGridView只对列标题进行排序点击

问题描述:

我对一列进行排序。然后编辑该列中的一个值 - 该行自动重新定位自身。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 

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

然后,当然,您必须通过列标题上的单击事件来处理此问题。