删除特定的数据表的行
问题描述:
我已经填补了字典,父母键和他们的孩子价值的List<>
从DataTable
关系的作品真的很好,每一个孩子被保存为一个名为Definition
结构并插入一个List<Definition>
删除特定的数据表的行
structure Definition
{
int id;
int atom;
int id_d
};
,但我想达到的目标是同时遍历值的列表上的Dictionary<Definitions,List<Definitions>>
,我的意思是,DataRelation
的孩子,我会想,价值观正在一DataTable
真表删除某些行取自重复List<Definitions>
值的Dictionary
即
Dictionary<Definitions,List<Definitions>> dataRelation;
DataTable parents;
DataTabale children;
foreach(var it in dataRelation)
{
for(int i =0 ; i< it.value.count : i++)
{
if(is the row i want to delete)
{
Children.delete(with the structure's Definition value parameters)
}
}
}
结构的Definitions
变量一样DataTabale
科拉姆的名字。
答
我必须承认,我真的不知道是什么问题,但我会用这种方法读取:
var rowsToDelete = from cRow in children.AsEnumerable()
join r in dataRelation.Values
on new {
id = cRow.Field<int>("id"),
atom = cRow.Field<int>("atom"),
id_d = cRow.Field<int>("id_d")
} equals new { r.id, r.atom, r.id_d }
select cRow;
foreach(DataRow rowToDelete in rowsToDelete)
rowToDelete.Delete();
// now use a dataadapter to actually delete this row from the datasource
对不起,误会的标题,我最近改变了它,对不起! –
@SalvadorRomo:没问题,但它不会改变你的问题的含义,所以答案应该仍然有效 –