gpt4 book ai didi

c# - 如何向未绑定(bind)的 DataGridView 添加一行?

转载 作者:行者123 更新时间:2023-11-30 19:46:10 24 4
gpt4 key购买 nike

我在 C# 中有一个 DataGridView,我想以程序化 方式添加行。没有数据绑定(bind)到网格,但当我调用 dataGrid.Rows.Add(); 时,它会抛出 System.InvalidOperationException

我在整个互联网上都看过了,但我只为绑定(bind)了数据的人发现了这个问题。我希望网格完全由代码控制。

谁能帮我解决这个问题?

不确定它是否有所不同,但我使用的是 .Net Framework 3.5。

最佳答案

假设您已经通过设计器或代码创建了列,您可以:

var row = (DataGridViewRow)myDataGridView.RowTemplate.Clone();
row.CreateCells(myDataGridView, "I'm Cell 1", "I'm Cell 2", "etc.");
myDataGridView.Rows.Add(row);

理想情况下,如果您要添加许多行,您可以预先创建一个行数组,然后调用 AddRange(rows);

例子:

void PopulateGrid()
{
//Consider Suspend-Resume Layout, YMMV.
var rows = myData.Select(data => CreateRow(data)).ToArray();
myDataGridView.Rows.AddRange(rows);
}

DataGridViewRow CreateRow(MyData data)
{
var row = (DataGridViewRow)myDataGridView.RowTemplate.Clone();
row.CreateCells(myDataGridView, data.Text, data.Date, date.Value);
return row;
}

关于c# - 如何向未绑定(bind)的 DataGridView 添加一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9094124/

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