如果选择了多个datagridview行,如何防止选择“new”datagridview行中的单元格?

时间:2011-05-24 00:43:23

标签: c# datagridview

不要问为什么,但是我需要一种方法来阻止用户在“新”数据网格视图行中输入一个单元格,同时选择了多行。

目前,正在选择鼠标在单击和拖动期间悬停在该行的第一列中的单元格。如果单击单元格,则不再选择行,因此您无法使用任何单元格单击事件或任何内容。

欢迎任何建议。

P.S。不要尝试从selectionchanged事件编辑currentcell,已经尝试过了!

谢谢,

艾萨克

2 个答案:

答案 0 :(得分:0)

我知道DataGridView控件具有RowState属性。选择行后,请检查状态。我不确定状态是什么(如果我甚至在球场)......无论如何,你可能能够检查那条路线。

我正在寻找更多信息......

好的......我觉得我找到了一个很好的方法:

void DataGridView1_RowsAdded (object sender, DataGridViewRowsAddedEventArgs e)
{
    currentNewRow = e.RowIndex;
}

void DataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
{
    if (e.RowIndex == currentNewRow)
    {
        // don't add to Selection
    }
} 

答案 1 :(得分:0)

使用CellStateChanged事件:

private void dataGridView_CellStateChanged(object sender, DataGridViewCellStateChangedEventArgs e) {
            if (e.Cell.OwningRow.IsNewRow && dataGridView.SelectedRows.Count > 1)
                e.Cell.Selected = false;
        }