请问如下foreach循环的逻辑是什么?
royvb 2010-12-15 04:07:07 数据库表单如下
id,context,parentid
1 dd 0
2 cc 1
3 ee 1
4 ff 2
现有一循环取出数据填充treeview 控件,请问这个foreach逻辑是什么?详细的说是当循环到第二条数据(2,cc,1)时,就会
调用loadTreeView(int.Parse(drv["id"].ToString()), node, pTree),而此时dv中是没有数据的,那么接下来就不会进foreach循环,它是如何再取第三条记录和第四条记录的?逻辑如何?谢谢解答!
private void loadTreeView(int parentid, TreeNode pNode, TreeView pTree)
{
TreeNode node = new TreeNode();
DataView dv = new DataView(dt);
dv.RowFilter = "parentid=" + parentid.ToString();
foreach (DataRowView drv in dv)
{
if (pNode == null)
{
node = pTree.Nodes.Add(drv["context"].ToString());
loadTreeView(int.Parse(drv["id"].ToString()), node, pTree);
}
else
{
node = pNode.Nodes.Add(drv["context"].ToString());
loadTreeView(int.Parse(drv["id"].ToString()), node, pTree);
}
}