我正在开发一个验证WPF中DataGrid
中的单元格的应用程序。例如,如果单元格中存在错误,我正在使单元格可编辑。但是,更改的数据未绑定到数据网格ItemsSource
。以下是我用于在出现错误时使单元格可编辑的代码:
DataGridRow gridRow = dgInventory.ItemContainerGenerator.ContainerFromIndex(row) as DataGridRow;
if (gridRow != null)
{
DataGridCell cell = dgInventory.Columns[column].GetCellContent(gridRow).Parent as DataGridCell;
cell.BorderBrush = Brushes.Red;
cell.IsEditing = true;
cell.ToolTip = tooltip;
}
网页加载网格后,我现在可以编辑错误的单元格。但是,当我访问ItemsSource
的{{1}}时,它仍会显示相同的旧数据。 XAML中的DataGrid
代码是:
DataGrid
您能否为我提供一种在<DataGrid Name="dgInventory" ScrollViewer.CanContentScroll="False" IsManipulationEnabled="True" CellEditEnding="dgInventory_CellEditEnding" IsReadOnly="True" />
中修改单元格的方法。提前感谢你。
答案 0 :(得分:0)
IsReadOnly="True"
可能有问题吗?
试试
DataGridRow gridRow = dgInventory.ItemContainerGenerator.ContainerFromIndex(row) as DataGridRow;
if (gridRow != null)
{
DataGridCell cell = dgInventory.Columns[column].GetCellContent(gridRow).Parent as DataGridCell;
cell.BorderBrush = Brushes.Red;
cell.IsEditing = true;
dgInventory.IsReadOnly = false;
cell.ToolTip = tooltip;
}
而不是在dgInventory_CellEditEnding中设置:
...
IsReadOnly = true;
...