2016-09-26 77 views
-1

我已经填补了字典,父母键和他们的孩子价值的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科拉姆的名字。

回答

0

我必须承认,我真的不知道是什么问题,但我会用这种方法读取:

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 
+0

对不起,误会的标题,我最近改变了它,对不起! –

+0

@SalvadorRomo:没问题,但它不会改变你的问题的含义,所以答案应该仍然有效 –