从数据集中删除行后出现异常



我的Basci设置:数据集包含3个数据表,没有关系;2个数据绑定,一个用于版本表,另一个用于脚本表2 .以数据绑定为数据源的数据视图

在一个按钮点击事件我得到第一个选择的行在版本数据视图,得到DataboundItem并将其转换为"VersionRow"。然后获取数据集中的行并使用Delete(); -method。

这一切运行没有任何异常,并且在调试中,您可以看到数据集中的版本行状态也发生了变化。但随后它会崩溃,并抛出DeletedRowInaccessibleException。

ClickEvent with Deleting:

private void VersionDel_Click(object sender, EventArgs e)
    {
        if (VersionDataGird.SelectedRows.Count > 0)
        {
            var x = (MainDB.VersionsRow)VersionDataGird.SelectedRows[0].DataBoundItem;
            mainDB.Versions.FindByID(x.ID).Delete(); 
        }
    }//after here it jumps in a generated function to get id from dataset and fails

我期望行只会消失在DataGridView当我删除它在数据集。你知道我错在哪里吗?

我认为您正在获得选定行并将其从数据库中删除。但是你没有更新网格视图。

在删除行后尝试删除数据网格的数据源,并在删除行后再次向该网格添加数据源。

你也可以用adapter来代替。这是我在网上找到的教程链接。

最新更新