1

我有一个数据网格,我正在尝试删除整行,只有当我选择整行时它才能正常工作。但是如果我选择单个单元格(在编辑模式下光标聚焦在单个单元格上)并删除它,则它不起作用。

下面是我的代码:

private void DeleteData_OnClick(object sender, RoutedEventArgs e)
{
    if (grdData == null || grdData.SelectedIndex < 0) return;

    grdData.RemoveRow(grdData.SelectedIndex);
}

问题是什么和/或我该如何解决?谢谢。

4

2 回答 2

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();
}
于 2013-08-31T15:31:17.140 回答
0

你试过 SelectionMode="Single" SelectionUnit="FullRow" 吗?

于 2013-08-31T07:02:30.830 回答