技术开发 频道

组织和遍历TreeView里面的数据


【IT168技术文档】

  这里为了简便,假定树只有两层.在这种情况下用两个for 循环就可以实现了,当然也可以用递归,不过为了简单说明问题,这里只用循环的方式来做.

  外层循环读取所有FatherNode为0的节点,里面套用的循环是读取当前节点的子节点.代码大致如下:
private void GenerateTreeView() { DataSet1TableAdapters.test_tableTableAdapter ta1 = new DataSet1TableAdapters.test_tableTableAdapter(); DataTable dt1 = ta1.GetDataByFatherNode(0); for (int i = 0; i < dt1.Rows.Count; i++) { TreeNode tn1 = new TreeNode(); tn1.Text = dt1.Rows[i]["NodeText"].ToString(); DataSet1TableAdapters.test_tableTableAdapter ta2 = new DataSet1TableAdapters.test_tableTableAdapter(); int currentid=int.Parse(dt1.Rows[i]["id"].ToString()); DataTable dt2 = ta2.GetDataByFatherNode(currentid); for (int j = 0; j < dt2.Rows.Count; j++) { TreeNode tn2 = new TreeNode(); tn2.Text = dt2.Rows[j]["NodeText"].ToString(); tn1.ChildNodes.Add(tn2); } TreeView1.Nodes.Add(tn1); } }
  其中的是读取数据用的,用的是数据集进行的操作.关于数据集的定义请下载本文附带的源码,很简单的,同样,通过数据集的方式来访问数据也很方便.
0
相关文章