none
绑定到BindingSource的 DataGridView 在点击列header排序后,如何获得排序前的行号? RRS feed

  • 问题

  • 请问:

    一个绑定到BindingSource的 DataGridView 

    在点击列header排序后,如何获得排序前的行号?

    CurrentCell CurrentRow 属性都失效了……

    2010年12月17日 3:51

答案

  • dear

    你可以试试资料细节完成后就记录DataBindingCompleteg事件或是滑鼠按下就记录MouseDown,总之看你个人想要啥时后记录才能符合你的需求你就可以用那个事件


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    • 已标记为答案 Paul Zhou 2010年12月23日 3:04
    2010年12月17日 7:56

全部回复

  • dear
    1.重新排序后行号就会变,CurrentCell CurrentRow不会失效,可能是因为你的Mouse点在Header。
    2.若要获取排序前的行号,你可在排序前记录目前的状态。
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月17日 5:05
  • 谢谢mvp的回答!可否说一下怎样记录排序前的状态?
    2010年12月17日 7:14
  • dear
    利用Clone深层复制出一模一样的DataGridView或是用巢状循环读出每一行列的资料

    [DataGridView Rows Copy]
    http://www.dotblogs.com.tw/billchung/archive/2009/04/12/7990.aspx

    [DataGridViewRow.Clone Method ]
    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridviewrow.clone.aspx
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月17日 7:28
  • 谢谢您的解答,还有一个问题,就是什么时候或者说在什么事件发生时记录DataGridView?

    我刚试了一下在DataGridView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)中进行记录,但是DataGridView已经改变了……

    2010年12月17日 7:46
  • dear

    你可以试试资料细节完成后就记录DataBindingCompleteg事件或是滑鼠按下就记录MouseDown,总之看你个人想要啥时后记录才能符合你的需求你就可以用那个事件


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    • 已标记为答案 Paul Zhou 2010年12月23日 3:04
    2010年12月17日 7:56