当前位置: 代码迷 >> C# >> DataView1.CreateChildView()的扫盲有关问题
  详细解决方案

DataView1.CreateChildView()的扫盲有关问题

热度:76   发布时间:2016-05-05 04:59:05.0
DataView1.CreateChildView()的扫盲问题
小弟看到一项目中有如下代码,感到疑惑,特拿来请高手赐教。
DataView dn,dw;
dw = new DataView();            
dw = xmlConfig.GetData("descendant::WebLinks");
 for (i = 0; i < dw.Count; i++)
{
dn = dw[i].CreateChildView("WebLink_NavigationRules")[0].CreateChildView("NavigationRules_Rule");
cNavigRule nRule;

for (int m = 0; m < dn.Count; m++)
{
    
Console.WriteLine( dn[m].Row["Url"].ToString() );
}
}

很明显,dw是从一xml文件中获取数据后返回来的dataview对象,我想,dw[i].应该是表示一数据行(Row)吧,至多是表示一datatable,dw[i].CreateChildView("WebLink_NavigationRules")[0].CreateChildView("NavigationRules_Rule")这句应该是创建了新表吧。我的疑问是:新表应该是空的,没有数据,但上述代码怎么会用语句 “for (int m = 0; m < dn.Count; m++)”来循环获取新表中的内容呢?还请哪位高手帮解释下。

------解决思路----------------------
CreateChildView从关联的表中获取子视图数据不是创建空数据