kmdm                    kmmc     
----------------------- -------------
1001                    库存现金
1002                    银行存款
  100201                建行
  100202                美元存款经常户
  100203                工行
1012                    其他货币资金
  101207                保函押金
    10120701            建行永定路支行
    10120702            浦发银行永定路支行
1013                    备用金
  101301                经理办公室
  101302                综合计划处
  101303                财务处根据上面的数据结构(数据结构不能改变),构造一个TreeView
小弟有几个难点不知道怎么解决,希望高手帮忙指点一下。1、如果根据kmdm来判断是否为根节点。(不可以根据KMDM为4位就确认为根节点,1001可是为101,同样他的下级可以为100101或者为1001001)
2、如果根据kmdm来判断上级节点是哪个。

解决方案 »

  1.   

    、如果根据kmdm来判断上级节点是哪个。 
    TreeNode.Prenode好象是这个
      

  2.   

    如果kmdn的长度<=4就认为是根节点啊~~取kmdm得前3为或者2位后,就是他父节点的kmdm。我不明白的一点就是: 如果1001成为101后,他下面的子节点也会变成10101吗? 还是101001?我觉得变是可以的。但要变都要变,否则很麻烦的。
      

  3.   

    我遇到的情况和楼主很类似:在数据库中有个表Level      Name
    01         一年级
    02         二年级
    03         三年级
    0100       一年级一班
    0101       一年级二班
    0200       二年级一班
    0201       二年级二班
    0300       三年级一班只要解析Level字段就很好判断结点之间的关系。
      

  4.   

    这么说吧,每个级别的代码长度不确,也就是说一级有可能是4位,也有可能是3位
    同样二级有可能是2位也有可能是3位,但整个表中的记录是统一的。可以是下面这样的
    kmdm                    kmmc    
    ----------------------- ------------- 
    1001                    库存现金 
    1002                    银行存款 
      100201                建行 
      100202                美元存款经常户 
      100203                工行 
    1012                    其他货币资金 
      101207                保函押金 
        10120701            建行永定路支行 
        10120702            浦发银行永定路支行 
    1013                    备用金 
      101301                经理办公室 
      101302                综合计划处 
      101303                财务处 也可能是这样的
    kmdm                    kmmc    
    ----------------------- ------------- 
    101                    库存现金 
    102                    银行存款 
      10201                建行 
      10202                美元存款经常户 
      10203                工行 
    112                    其他货币资金 
      11207                保函押金 
        1120701            建行永定路支行 
        1120702            浦发银行永定路支行 
    113                    备用金 
      11301                经理办公室 
      11302                综合计划处 
      11303                财务处 还可能是kmdm                    kmmc    
    ----------------------- ------------- 
    1001                    库存现金 
    1002                    银行存款 
      1002001                建行 
      1002002                美元存款经常户 
      1002003                工行 
    1012                    其他货币资金 
      1012007                保函押金 
        101200701            建行永定路支行 
        101200702            浦发银行永定路支行 
    1013                    备用金 
      1013001                经理办公室 
      1013002                综合计划处 
      1013003                财务处 
    不知道我表述的是否清楚