我有一个数据网格,我正在尝试删除整行,只有当我选择整行时才能正常工作。但是如果我选择单个单元格(在编辑模式下光标聚焦在单个单元格上)并将其删除,则无效。
以下是我的代码:
private void DeleteData_OnClick(object sender, RoutedEventArgs e)
{
if (grdData == null || grdData.SelectedIndex < 0) return;
grdData.RemoveRow(grdData.SelectedIndex);
}
问题是什么和/或我该如何解决?感谢。
答案 0 :(得分:0)
您是否尝试过SelectionMode =“Single”SelectionUnit =“FullRow”?
答案 1 :(得分:0)
您需要删除基础数据源行并重新绑定数据。
如果您使用数据表作为数据源,则可以执行以下操作:
private void DeleteData_OnClick(object sender, RoutedEventArgs e)
{
if (grdData == null || grdData.SelectedIndex < 0) return;
DataTable sourceData = (DataTable)grdData.DataSource;
sourceData.Rows[ grdData.SelectedIndex].Delete();
grdData.DataSource = sourceData;
grdData.DataBind();
}