【问题标题】:Changing of Datagridview BindingSource is very slowDatagridview BindingSource 的更改非常慢
【发布时间】:2015-10-12 05:25:07
【问题描述】:

尊敬的同行,

我正在处理的项目中遇到了一个重大问题,需要一些帮助。

概述: 我有一个带有 datagridview (Datagridview1) 的表单 (frmStart)。在 frmstart 中,我放置了一个绑定源 (bs1)。这种形式接受两个不同查询(q1 和 q2)的结果。

我第一次运行查询 (q1) 时,绑定源的加载速度非常快。我使用以下附件:

frmStart.bs1.DataSource = frmStart.ds.Tables("Data1").DefaultView

我可以继续有效地每次加载。但是,如果我尝试运行第二个查询 (q2) 并将其应用于表单或运行第二个查询然后尝试返回到 q1,则程序挂起在以下行上,并且加载时间比原来的要长 10 倍:

Me.bs1.DataSource = ds.Tables("Data2").DefaultView

我知道这与更改源表有关,因为它也会反过来发生。我的问题是我没有做什么导致这个问题。完成一份报告后,我会使用以下内容清除我的页面,但已证明这也不起作用:

Me.bs1.DataSource = Nothing
Me.bs1.RemoveFilter()

我已经测试和测试,可以确定过滤器不起作用,只是数据源表的变化。有没有人有他们可以扔给我的解决方案,或者只是一个正确方向的点?我做错了什么,或者根本没有做什么?

更改绑定源时,有正确的流程吗?

提前致谢。

【问题讨论】:

    标签: datagridview bindingsource


    【解决方案1】:

    遇到了同样的问题,这对我有用:

    在对 BindingSource 进行大量更改之前,应取消设置 BindingSource 上的 RaiseListChangedEvents 属性,并在完成后重置。然后就可以使用 ResetBindings 来刷新绑定的控件了。

    发件人:Using BindingSource is very slow?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多