telerik:RadGridView 控件 自定义排序

有一列执行率数据,排序时候是按字符串排序的,我想让这列数据按从大到小排序。

  1. 首先,需要订阅 RadGridView 的 Sorting 事件:
    csharp
    Copy code
    this.radGridView1.Sorting += new Telerik.WinControls.UI.GridViewSortingEventHandler(radGridView1_Sorting);

  2. 在事件处理程序中,可以检查正在排序的列是否是你要排序的执行率数据列。如果是,可以使用自定义排序:
    csharp
    Copy code
    void radGridView1_Sorting(object sender, Telerik.WinControls.UI.GridViewSortingEventArgs e)
    {
    if (e.Column.Name == "执行率数据列的名称")
    {

     e.SortResult = Telerik.WinControls.UI.RadCollator.Compare(Convert.ToDouble(e.Value1), Convert.ToDouble(e.Value2));
     e.Handled = true;
    

    }
    }
    在上面的代码中,我们首先检查正在排序的列是否是我们要排序的执行率数据列。如果是,我们使用 Convert.ToDouble() 方法将单元格值转换为 double 类型,然后使用 RadCollator.Compare() 方法将两个值进行比较。最后,将 e.SortResult 设置为比较结果,将 e.Handled 设置为 true。

这应该可以让你按从大到小的顺序排序你的执行率数据列。