gpt4 book ai didi

c# - DataGridView 行添加事件

转载 作者:可可西里 更新时间:2023-11-01 08:38:24 26 4
gpt4 key购买 nike

我正在使用 DataGridView 并将一个 List 绑定(bind)到 DataSource。

我已经有了正确的列,并且准确地映射了字段。我正在尝试做的是处理一种 RowAddedRowDataBound(如在 aspx GridView 中)事件。

我发现的唯一事件是RowsAdded,但无论我有多少项目,它在我第一次绑定(bind)时仅触发 4 次,其他时间触发 2 次,带有值

e.RowCount:1 e.RowIndex:0e.RowCount:[n-1] e.RowIndex:1 *其中 n 是我的项目数

有没有办法让我获得每个项目的句柄?

编辑:不改变 DataSource = 绑定(bind)方法

最佳答案

我刚遇到同样的问题。您可以获得从传递给 RowsAdded 事件处理程序的事件参数中添加的行的索引和范围。使用此信息遍历每个添加的行。 e.RowIndexe.RowCount 可让您确定添加的行。

private void DataGridView1_RowsAdded(object sender, System.Windows.Forms.DataGridViewRowsAddedEventArgs e)
{
for (int index = e.RowIndex; index <= e.RowIndex + e.RowCount - 1; index++) {
DataGridViewRow row = DataGridView1.Rows[index];

// Do something with the added row here
// Raise a custom RowAdded event if you want that passes individual rows.
}
}

如果您愿意,您可以继承 datagridview 并创建自己的网格,在上面的循环中抛出“RowAdded”事件。

关于c# - DataGridView 行添加事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2653137/

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