加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DataGridView行添加事件

发布时间:2020-12-15 06:54:21 所属栏目:百科 来源:网络整理
导读:我正在使用DataGridView,并将列表绑定到DataSource. 我已经有了正确的列,我准确地映射了这些字段.我想要做的是处理一种RowAdded或RowDataBound(如在aspx GridView中)事件. 我发现唯一的事情是RowsAdded,但无论我有多少项目,它只会被发射4次,我第一次绑定,另
我正在使用DataGridView,并将列表绑定到DataSource.

我已经有了正确的列,我准确地映射了这些字段.我想要做的是处理一种RowAdded或RowDataBound(如在aspx GridView中)事件.

我发现唯一的事情是RowsAdded,但无论我有多少项目,它只会被发射4次,我第一次绑定,另外两次,值

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

有没有一种方法可以得到每个项目的句柄?

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

解决方法

我刚遇到同样的问题.您可以获取从事件args添加到RowsAdded事件处理程序的行的索引和范围.使用此信息循环遍历每个添加的行. e.RowIndex和e.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”事件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读