none
bindingsource的Clear清除数据提示错误 RRS feed

  • 问题

  • 如题,调用Bindingsource的Clear方法清除所有行时提示错误:

    我是想导入其他数据到绑定的DataGridView,如果当前DataGridview里有数据行则有个询问用户“是否清除现有行”,用户点“是”,则先清除现有行,想调用bindingsource的Clear方法清除,结果就提示如上图错误,是怎么回事呢?


    陈锦巍

    2019年6月2日 10:17

答案

  • Hi 陈锦巍,

    错误提示“不能清除此列表”,从官方文档BindingSource.Clear Method可以了解到Clear的对象是List。在你的项目中你是不是使用了DataTable作为了BindingSource的数据源?如果你想清空它的话,你可以直接将其赋值为“null”。

        bs.DataSource = null;

    Regards,

    Kyle


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 陈锦巍 2019年6月3日 8:01
    2019年6月3日 2:14
  • DataTable没有实现IList而是实现的IListSource。绑定到DataTable实际上就是绑定到其DefaultView属性。

    DataView类虽然实现了IList但是不支持Clear,调用Clear的时候会抛出这个异常。

    你可以去DataTable里直接删除行。DataTable.Clear则是连列一起都清除。



    Visual C++ MVP

    • 已标记为答案 陈锦巍 2019年6月13日 15:06
    2019年6月13日 14:45
    版主

全部回复

  • Hi 陈锦巍,

    错误提示“不能清除此列表”,从官方文档BindingSource.Clear Method可以了解到Clear的对象是List。在你的项目中你是不是使用了DataTable作为了BindingSource的数据源?如果你想清空它的话,你可以直接将其赋值为“null”。

        bs.DataSource = null;

    Regards,

    Kyle


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 陈锦巍 2019年6月3日 8:01
    2019年6月3日 2:14
  • 哦,是的。确实绑定DataTable不能使用此方法,而绑定List是可以清除的。

    谢谢!


    陈锦巍

    2019年6月3日 8:01
  • DataTable没有实现IList而是实现的IListSource。绑定到DataTable实际上就是绑定到其DefaultView属性。

    DataView类虽然实现了IList但是不支持Clear,调用Clear的时候会抛出这个异常。

    你可以去DataTable里直接删除行。DataTable.Clear则是连列一起都清除。



    Visual C++ MVP

    • 已标记为答案 陈锦巍 2019年6月13日 15:06
    2019年6月13日 14:45
    版主
  • 嗯,明白了,谢谢!

    陈锦巍

    2019年6月13日 15:06