c# DataGrid 绑定到 List

发布于 2024-12-01 15:59:50 字数 305 浏览 0 评论 0原文

我有一个绑定到 List 对象的 dataGrid,通过调用可以正常工作...

dgList.DataSource = carList;

但是我有代码通过轮询服务器来更新后台线程上的 carList,并根据年龄进行删除。数据网格似乎根本没有更新,我尝试调用 .Update() 但没有效果。

这可能吗?

该列表定义为

List<Car> = carList = new List<Car>();

I have a dataGrid bound to a List object and this works fine by calling...

dgList.DataSource = carList;

However I have code that updates the carList on background threads by polling servers and also deletes based on age. The datagrid does not seem to update at all, I tried calling .Update() and that has no effect.

Is this possible?

The list is defined as

List<Car> = carList = new List<Car>();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一世旳自豪 2024-12-08 15:59:50

刷新 不起作用,因为它只会重绘控件:

强制控件使其工作区无效并立即重绘自身和任何子控件。

最简单的解决方案可能是再次使用 DataSource 重新绑定:

dgList.DataSource = carList;
carList.Add(car);
dgList.DataSource = null;
dgList.DataSource = carList;

Refresh won't work because it only redraws the control:

Forces the control to invalidate its client area and immediately redraw itself and any child controls.

The simplest solution is likely to rebind using DataSource again:

dgList.DataSource = carList;
carList.Add(car);
dgList.DataSource = null;
dgList.DataSource = carList;
萌吟 2024-12-08 15:59:50

您必须再次使用 DataBind 重新绑定数据

对于 WinForms, :您有吗尝试再次重置源?
如果不使用 BindingSource 而不是原始列表。

You have to rebind the data with DataBind again

as for WinForms: have you tried to reset the source again?
If not use a BindingSource instead of the raw list.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文