gpt4 book ai didi

c# - 如何在 C#/Winforms 中将队列绑定(bind)到 DataGridView?

转载 作者:行者123 更新时间:2023-11-30 15:05:36 25 4
gpt4 key购买 nike

我有一个标准的 C# 队列,声明如下:

private Queue<DeployJob> _solutionQueue = new Queue<DeployJob>();

现在我想将这个队列绑定(bind)到一个 DataGridView,它被放置在一个 winform 中。对于“绑定(bind)”,我的意思是每次我 dequeueenqueue 队列中的项目 DataGridView 都会更新(以便它始终代表状态的队列)。

我试过这样绑定(bind):

jobGridView.DataSource = _solutionQueue;

但它不起作用,即使我使用 updaterefresh 方法。如果您需要更多代码,请随时询问:)

最佳答案

根据 MSDN , DataGridView.DataSource必须实现以下接口(interface)之一:

  • IList
  • IListSource
  • IBindingList
  • IBindingListView

Queue<T> 类实现 IList 的父接口(interface), 包括 IEnumerableICollection , 但不是 IList本身。

一个建议是使用 LINQ 创建一个 List<DeployJob>从队列中像这样绑定(bind):

using System.Linq;    

//code

jobGridView.DataSource = _solutionQueue.ToList();

您需要确保并处理任何更新/修改队列的事件,并将 DataGridView 重新绑定(bind)到新创建的列表

关于c# - 如何在 C#/Winforms 中将队列绑定(bind)到 DataGridView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8904189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com