我有一个dataGrid。
我想通过单击UI(WPF)中的按钮从dataGrid中删除其中一行。
以下是从dataGrid中删除行的代码片段,但是我正在观察Exception"当ItemsSource正在使用时,Operation无效。使用ItemsControl.ItemsSource访问和修改元素"。
请帮助解决这个问题。
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
var selectedItem = dataGrid.SelectedItem;
if (selectedItem != null)
{
dataGrid.Items.Remove(selectedItem);
}
}
答案 0 :(得分:0)
您通过为DataTable
属性分配dataGrid.ItemsSource
来显示数据。这意味着您需要通过直接修改DataTable
来添加/删除项目。
private DataTable _dataTable;
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
var selectedItem = dataGrid.SelectedItem as DataRowView;
if (selectedItem != null)
{
_dataTable.Rows.Remove(selectedItem.Row);
_dataTable.AcceptChanges();
}
}