要实现的功能是,把一系列任务通过递归生产TREE,在每生成一个节点的时候,把节点的TEXT查询数据库,如果该节点任务已完成,节点就为黑色,否则为灰色。
由于用到的查询很复杂,如果每个节点都查执行一次,速度很慢,我的想法是把完成任务的名称先找出来,形成一个数据集,然后形成节点时,把节点和数据集里面的数做对比,存在就颜色变黑。
但我不清楚:
1、应该用什么数据集来保存数才能做对比
2、怎么把TEXT遍历数据集来查找

解决方案 »

  1.   

    1.用Dictionary来保存 text值和任务完成标志(只查询出数据库中所有已完成任务的记录)
    2.在生成数时将所有节点设为灰色,然后读Dictionary的key值,再用 treeView1.Nodes.Find(string key,true) 找到这些节点将其设为黑色
      

  2.   

    1.顶楼上的
    2.顶楼上的,另外可以反过来估,即用递归遍历TreeNode,然后从Dictionary寻找与当前Text相符的key值的任务完成标志,如完成则设为黑色.  因为从Dictionary里寻找数据比用treeView1.Nodes.Find寻找节点要快.
      

  3.   

    这个dictionary怎么用呢?网上没找到怎么把查出的数据集放进去