我只想删除在具有 LINQ to SQL 的数据网格视图中选择的项目的子项,但它不起作用。我不知道是否有可能这样做。我不知道如何继续,你能检查一下我的代码并告诉我我做错了什么吗?这是我的代码:
private void cmdSupprimer_Click(object sender, EventArgs e)
{
try
{
var catAct = (from catA in tbCategories.Categories
where catA.CategorieID == (int)dgCategories.Rows[0].Cells[0].Value
select catA).Single();
for (int i = 0; i < catAct.Jeuxes.Count(); i++)
{
for (int j = 0; j < catAct.Jeuxes[i].Personnages.Count(); j++)
{
tbPersos.Personnages.DeleteOnSubmit(catAct.Jeuxes[i].Personnages[j]);
}
tbJeux.Jeuxes.DeleteOnSubmit(catAct.Jeuxes[i]);
}
tbCategories.Categories.DeleteOnSubmit(catAct);
tbCategories.SubmitChanges();
dgCategories.DataSource = null;
dgCategories.DataSource = (from cats in tbCategories.Categories
select new CategorieDisplay()
{
CategoryID = cats.CategorieID,
CategoryNom = cats.CategorieNom
}).ToList();
MessageBox.Show("Les enfants de cette catégorie ont été supprimés");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
使数据源成为名为 data 的变量。 然后,您可以从数据中删除行,数据网格视图也将得到更新。
var data = (from cats in tbCategories.Categories
select new CategorieDisplay()
{
CategoryID = cats.CategorieID,
CategoryNom = cats.CategorieNom
}).ToList();
dgCategories.DataSource = data;