none
如何获取DataGridView中选定行对应的数据源中的行的集合? RRS feed

  • 问题

  • DataGridView的DataSource为BindingSource,在DataGridView中选择某些行后,如何获取BindingSource中对应行的集合?


    韩立学
    2011年12月30日 8:02

答案

  • 因为DataGridView中,未必要显示BindingSource中全部列,因此,如果需要完整数据时,必须获取BindingSource中相关行的集合。


    也就是说,DataGridView中某些列已经隐藏对吗?

    那么你还是按照我的做法(上面说的),通过DataSource属性取出完整的DataTable,使用foreach对于DataGridView.SelectedRows进行操作。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    • 已标记为答案 大海怪 2011年12月31日 8:41
    2011年12月31日 3:33
    版主
  • 我想起来了,通过DataGridViewRow.index 与 BindingSource的Poistion连接,逐一操作。

    不能对DataTable操作,因为DataTabel可能与BindingSource不同。


    韩立学

    • 已编辑 大海怪 2011年12月31日 6:01
    • 已标记为答案 大海怪 2011年12月31日 6:01
    2011年12月31日 6:00

全部回复

  • DataGridView的DataSource为BindingSource,在DataGridView中选择某些行后,如何获取BindingSource中对应行的集合


    就我知道而言,恐怕不能直接修改。你可以通过DataGridView的DataSource属性获取数据源(比如是DataTable),然后再使用DataGridView的SelectedRows+foreach方法逐一修改DataTable对应的行即可。
       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2011年12月31日 2:30
    版主
  • 谢谢回复!

    不是要修改,而是要获取BindingSource对应行的集合。

    因为DataGridView中,未必要显示BindingSource中全部列,因此,如果需要完整数据时,必须获取BindingSource中相关行的集合。

     


    韩立学
    2011年12月31日 2:50
  • 因为DataGridView中,未必要显示BindingSource中全部列,因此,如果需要完整数据时,必须获取BindingSource中相关行的集合。


    也就是说,DataGridView中某些列已经隐藏对吗?

    那么你还是按照我的做法(上面说的),通过DataSource属性取出完整的DataTable,使用foreach对于DataGridView.SelectedRows进行操作。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    • 已标记为答案 大海怪 2011年12月31日 8:41
    2011年12月31日 3:33
    版主
  • 我想起来了,通过DataGridViewRow.index 与 BindingSource的Poistion连接,逐一操作。

    不能对DataTable操作,因为DataTabel可能与BindingSource不同。


    韩立学

    • 已编辑 大海怪 2011年12月31日 6:01
    • 已标记为答案 大海怪 2011年12月31日 6:01
    2011年12月31日 6:00