winforms DataGridView不反映对DataTable所做的更改

eoxn13cs  于 2023-04-12  发布在  其他
关注(0)|答案(1)|浏览(143)

我正在努力让我的DataGridView绑定到我的DataTable,所以我决定尝试一个超级简单的例子。

DataTable dataTable = new DataTable();

        dataTable.Columns.Add("ID", typeof(int));
        dataTable.Columns.Add("Name", typeof(string));
        dataTable.Columns.Add("Age", typeof(int));

        dataTable.Rows.Add(1, "John", 25);
        dataTable.Rows.Add(2, "Jane", 30);
        dataTable.Rows.Add(3, "Bob", 40);

        DataGridView dataGridView = new DataGridView();
        dataGridView.DataSource = dataTable;

然而,即使执行了这段代码,dataGridView.Rows.Count仍然是0,我也很难理解为什么。我还尝试了很多其他方法(将BindingSourceRefreshBindings一起使用,尝试关闭AutoGenerateColumns等)。
如何使用DataTable填充DataGridView?我是否遗漏了一些明显的内容?

2j4z5cfb

2j4z5cfb1#

dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Age", typeof(int));

dataTable.Rows.Add(1, "John", 25);
dataTable.Rows.Add(2, "Jane", 30);
dataTable.Rows.Add(3, "Bob", 40);
dataTable.SaveChanges();

// Make sure to create the DataGridView after the DataTable is populated
DataGridView dataGridView = new DataGridView();
dataGridView.AutoGenerateColumns = true; // Enable AutoGenerateColumns to create columns automatically
dataGridView.DataSource = dataTable;

this.Controls.Add(dataGridView);

相关问题