我有一个DataGrid,它包含几个列,其中一些不应该被用户选择(因为它们无论如何都是只读的)。 列本身没有属性,显然我需要通过SelectedCellsChanged-Event来处理它。
我可以使用IF语句通过执行以下操作来查明单元格的相应列是否不可选:
private void chartDataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
if (e.AddedCells[0].Column.Header.ToString() == "Non Selectable Column")
{
// What now?
}
}
如何保持此集合中的单元格不被选中?
答案 0 :(得分:1)
好吧,我明白了。它可能不是完美的解决方案,但它对我来说完美无瑕。即使有很多单元格,当从多个列中选择单元格时,也包含应该可选择的单元格。 :)
private void chartDataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
foreach (DataGridCellInfo cell in e.AddedCells)
{
if (cell.Column.Header.ToString() == "NonSelectableColumn")
{
MyDataGrid.SelectedCells.Remove(cell);
}
}
}