gpt4 book ai didi

c# - 将 DataGridView 绑定(bind)到 List 不显示数据

转载 作者:太空狗 更新时间:2023-10-29 20:31:12 24 4
gpt4 key购买 nike

这是我的代码(这是一个非常简单的例子):

public partial class Form1 : Form
{
List<Person> listPersons;
public Form1()
{
InitializeComponent();
listPersons = new List<Person>();
dataGridView1.DataSource = listPersons;
}

private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length > 0)
{
Person p = new Person();
p.Name = textBox1.Text;
listPersons.Add(p);
}
}
}

class Person
{
public string Name { get; set; }
}

当您按下按钮时,数据会添加到列表中,但不会显示在 DataGridView 中。我错过了什么?

我已经尝试将 AutoGenerateColumnsVirtualMode 设置为 true,但这也没有解决问题。

最佳答案

已经有一段时间了,自从处理试图将 List s 绑定(bind)到 DataGridViews 的 WinForms 代码以来,我已经换了工作。如果我没记错的话,无论您绑定(bind)什么,都需要实现 IBindingList,而 List 则不需要。我可能错了。

反正我用的是BindingListView ,这是非常快速和容易的。你只需要做:

List<Customer> customers = GetCustomers();
BindingListView<Customer> view = new BindingListView<Customer>(customers);
dataGridView1.DataSource = view;

你就完成了。我已经有几年没看过源代码了,但我相信它用实现 IBindingList 的类包装了 List

关于c# - 将 DataGridView 绑定(bind)到 List<T> 不显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14024893/

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