通过编程如何控制dataGridView排序?(winform)

cbq926 2009-02-04 09:14:56
我通过编程在dataGridView中新增了一项,此时该项位于dataGridView列表的最后一列。。
开始我的dataGridView是按名称(name)进行排序的,而我新增的一项又位于最后一项,我如何通过编程的方式,让数据行一添加完就自动进行一次排序?
即如何通过编程的方式让dataGridView按某列进行排序?(传统的排序是通过点击列首项实现)
...全文
458 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pennymay 2009-02-04
  • 打赏
  • 举报
回复
我看错你的问题了...
我那个是同时SORT dgv 2个或者以上Columns的排序法..
希望你以后可以用到
cbq926 2009-02-04
  • 打赏
  • 举报
回复
嗯。。谢谢了。。
刚看了2楼的,看了半天没看懂。。不过还是谢谢了。。
我在msdn里找到答案了。。哈哈。。找了半天。。

发贴的时候看到LS的回复了,就是这个。。呵呵。。结贴
ginni215 2009-02-04
  • 打赏
  • 举报
回复

dataGridView.Columns["列名"].SortMode = DataGridViewColumnSortMode.Programmatic;
ListSortDirection ldDirection = ListSortDirection.Ascending;//按照升序排列
dataGridView.Sort(dataGridView.Columns["列名"], ldDirection);

这样就可以了,高效~~
pennymay 2009-02-04
  • 打赏
  • 举报
回复
之前刚好做过, 给你点IDEA

xxxxxx{
class MyRowComparer : System.Collections.IComparer
{
public int Compare(object x, object y)
{
DataGridViewRow a = (DataGridViewRow)x;
DataGridViewRow b = (DataGridViewRow)y;

int result;
result = a.Cells[1].Value.ToString().CompareTo(b.Cells[1].Value.ToString());
if (result != 0)
return result;

return a.Cells[0].Value.ToString().CompareTo(b.Cells[0].Value.ToString());
}
}

dgv.Sort(new MyRowComparer());
}


110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧