设置datagridview的最后一行不可排序(总是在底部)

时间:2010-09-02 17:39:20

标签: c# sorting datagridview jquery-ui-sortable

我有一个可排序的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();
        }
    }

1 个答案:

答案 0 :(得分:1)

您可以向数据表添加一列,并将所有非摘要记录的值设置为0.将摘要记录值设置为1,然后对“摘要”列进行排序,然后对其他列进行排序。

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