我有一个可排序的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();
}
}
答案 0 :(得分:1)
您可以向数据表添加一列,并将所有非摘要记录的值设置为0.将摘要记录值设置为1,然后对“摘要”列进行排序,然后对其他列进行排序。
这可能在内存中表现不佳,因此如果可能,您可能希望在SQL查询中执行此操作,具体取决于您使用的数据库。