0

我有一个DataGridView在虚拟模式下使用的。在测试中,我创建了一些行为很奇怪的版本。

这是方法体:

private int i = 0;
private void dgData_CellValueNeeded(object sender, 
                         DataGridViewCellValueEventArgs e) {
    if (e.ColumnIndex == 0) {
        i++;
    }
    System.Console.WriteLine
                ("cell value needed call: " + e.ColumnIndex + ", " 
                  + e.RowIndex + ", "+i);

    e.Value = i;
}

这会导致所有单元格都调用该调用。当我替换e.Value = i为 时e.Value = e.RowIndex,只会调用视图中的单元格。

更新我发现该调用SetSelected调用了所有单元格。但是,e.Value设置为任意值时。

这怎么可能?

4

0 回答 0