【发布时间】:2011-05-26 13:27:11
【问题描述】:
如何使 DataGridView 中的某些单元格无法选择?
“不可选择”是指:不能以任何方式选择它,尝试选择它不会取消选择任何其他单元格。
我不是指ReadOnly。我的单元格已经将此属性设为 true。
DataGridView.MultiSelect 必须为假。
感谢JYL的回答我写了一段代码:
private int selectedCellRow = 0;
private int selectedCellColumn = 0;
private void grid_CellStateChanged(object sender, DataGridViewCellStateChangedEventArgs e)
{
if (e.Cell == null || e.StateChanged != DataGridViewElementStates.Selected)
return;
if (e.Cell.RowIndex == 0 || e.Cell.ColumnIndex == 0 || e.Cell.RowIndex == 1 && e.Cell.ColumnIndex == 1)
{
e.Cell.Selected = false;
grid.Rows[selectedCellRow].Cells[selectedCellColumn].Selected = true;
}
else
{
selectedCellRow = e.Cell.RowIndex;
selectedCellColumn = e.Cell.ColumnIndex;
}
//this was only for seeing what is happening
//this.Text = selectedCellRow + " " + selectedCellColumn;
}
但这会导致 StackOverflow。为了防止这种情况,我需要在什么条件和位置放置?
【问题讨论】:
-
您的意思是不可编辑吗?像某些单元格是只读的?
标签: c# winforms visual-studio-2010 datagridview