我正在使用DataGridView,我将List绑定到DataSource.
我已经有了正确的列,我准确地映射了字段.我正在尝试做的是处理一种RowAdded或RowDataBound(如在aspx GridView中)事件.
我发现的唯一一件事就是RowsAdded但无论我有多少物品,它在我第一次被绑定时只被发射4次,而在其他时间被发射两次,带有值
e.RowCount:1 e.RowIndex:0 e.RowCount:[n-1] e.RowIndex:1*其中n是我的项目数
有没有办法可以找到每个项目的句柄?
编辑:不改变DataSource =绑定方法
Tim*_*ord 20
我刚遇到同样的问题.您可以获取从传递给RowsAdded事件处理程序的事件args添加的行的索引和范围.使用此信息循环遍历每个添加的行.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.
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想要,你可以继承datagridview并创建自己的网格,在上面的循环中抛出"RowAdded"事件.
| 归档时间: |
|
| 查看次数: |
29422 次 |
| 最近记录: |