none
怎样获得dataGridView控件的当前排序? RRS feed

  • 问题

  • 如果dataGridView中的column的SortMode 属性设置为auotomatic,那么可以点击列的标题来排序;
    如果dataGridView的数据源是bindingSource,那么也可能是使用bindingSource.sort("列 ASC")来排序的。

    现在我想做一个多列排序的功能,需要取得当前dataGridView的排序。
    如果我使用第二种方法排序后,bindingSource.Sort和dataGridView.SortedColumn都会有数据。

    如果我使用bindingSource.Sort("列1 asc, 列2 asc")排序后,再点列3的标题排序,那么bindingSource.Sort=="列1 asc, 列2 asc", 而dataGridView.SortedColumn是列3。

    那么如何判断当前是按照什么排的序呢?

    这2种排序有什么关系?

    是不是取得dataset后,这个dataset保存在内存中。而dataGridView只是在界面上显示了部分数据,点击列标题,只是把显示的cell控件排列了顺序,和dataset没有关系。这么理解对吗?
    2009年6月18日 7:44

答案

  • 通过 ColumnHeaderMouseClick 事件来处理,你需要自己记录你点过的列及排序状态
    知识改变命运,奋斗成就人生!
    2009年6月18日 18:29
    版主

全部回复