我的Basci设置: DataSet有3个DataTables,没有关系; 2 DataBindings用于Version-table,用于Script-table 2个数据绑定作为数据源的Datagridviews
在按钮单击事件上,我获得Version-datagridview中的第一个选定行,获取DataboundItem并将其转换为" VersionRow"。然后获取数据集中的行并使用Delete();
-methode。
这一切都运行完全没有异常,在Debug中你会看到数据集中的versionrow状态也发生了变化。但随后它遭遇了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
当我在DataSet中删除它时,我预计该行只会在DataGridView中消失。你知道我的错误在哪里吗?
答案 0 :(得分:0)
我认为您正在获取Selected Row并从数据库中删除它。但您没有更新网格视图。
删除行后尝试删除数据网格的数据源,删除行后再次将数据源添加到此网格中。
您也可以使用适配器代替此。这是我在互联网上找到的tutorial的链接。
希望它有所帮助!