日期:2014-05-17  浏览次数:21097 次

请教c# winform中的,DatagridView 最后一行不排序
请教c# winform中的,DatagridView 最后一行不排序

在 DatagridView中,最后一行是用来做合计的。
所以点击排序的时候,希望,最后一行不排序。
 

我读数据填充到 DatagridView 中的格式是下面的方法

string sql = "Select * From biao";
DataSet ds = new DataSet();
SqlDataAdapter da;
da = new SqlDataAdapter(sql, Conn.rs);
da.Fill(ds, "biao");
dgv1.DataSource = ds.Tables["biao"];


请教各位,怎样才能做到最后一行不参加排序。
  给一个简单点代码。谢谢!

------解决方案--------------------
参考DataGridViewColumnSortMode.Programmatic,这是用编程方式排序,你增加一个隐藏列,普通行值=0,统计行值=1,排序的话就按隐藏列+用户点击的列排序既可以。
------解决方案--------------------
为什么不在显示数据的DatagridView下面做一个小的DatagridView。
2者的宽度一样,下面就当做上上面先添加的一行。
------解决方案--------------------
string sql = "Select * From biao";
DataSet ds = new DataSet();
SqlDataAdapter da;
da = new SqlDataAdapter(sql, Conn.rs);
da.Fill(ds, "biao");
dgv1.DataSource = ds.Tables["biao"];

去掉 ds.Tables["biao"]中的最后一行,再绑定到dgv1
每次排序后 再在最后一行手动添加一个统计行 dgv1.rows.add(...);