Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置datagridview的最后一行不可排序(始终在底部)_C#_Sorting_Datagridview_Jquery Ui Sortable - Fatal编程技术网

C# 设置datagridview的最后一行不可排序(始终在底部)

C# 设置datagridview的最后一行不可排序(始终在底部),c#,sorting,datagridview,jquery-ui-sortable,C#,Sorting,Datagridview,Jquery Ui Sortable,我有一个可排序的DatagridView,其摘要最后一行包含一些列的总和,我希望将此摘要行始终保持为DatagridView的最后一行(底部) 目前,当我对datagridView的一列进行排序时,也会对摘要行进行排序,我不希望出现这种情况。我想保持DatagridView的最后一行(摘要行)不可排序 有办法吗 我找到了一个解决方案: 我以这种方式重载了sortcompare方法: private void grid_SortCompare(object sender, DataGridVi

我有一个可排序的DatagridView,其摘要最后一行包含一些列的总和,我希望将此摘要行始终保持为DatagridView的最后一行(底部)

目前,当我对datagridView的一列进行排序时,也会对摘要行进行排序,我不希望出现这种情况。我想保持DatagridView的最后一行(摘要行)不可排序

有办法吗

我找到了一个解决方案:

我以这种方式重载了sortcompare方法:

  private void grid_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
    {
        try
        {
            if (e.RowIndex1 == this.dataGridView1.Rows.Count -1)
                e.Handled = true;
            if (e.RowIndex2 == this.dataGridView1.Rows.Count - 1)
                e.Handled = true;
            return;
        }
        catch (Exception ex)
        {
            ex.ToString();
        }
    }

您可以向datatable添加一列,并将所有非摘要记录的值设置为0。将摘要记录值设置为1,然后在“摘要”列上排序,然后在其他列上排序

这可能在内存中执行得不好,因此如果可能,您希望在SQL查询中执行,具体取决于您使用的数据库