关于一个viewtree问题 数据库表结构如下:
id    parent       name
1     0         仓库甲
2     0         仓库乙
3     1         仓库甲1
4     0         仓库丙
5     1         仓库甲2
6     1         仓库甲3
7     2         仓库乙1
8     2         仓库乙2
如图:
|--仓库甲
|    |----仓库甲1
|    |----仓库甲2 
|    |----仓库甲3
|
|--仓库乙
|    |----仓库乙1
|    |----仓库乙2 
|    
|---仓库丙 现在的这种情况查找时不太好,因为是根据id查,下面的子节点查找不到,现在想在表中加一个字段,
放编号,就是在增加是每一节点按 ** *** **** 编号, 既仓库甲 就为01 仓库甲1 为01001
仓库甲2 为01002  依次类推比如 给个combobox 里面是已有的仓库名 ,用来选择父节点,一个edit 用来输入增加的仓库,button
保存,怎样才能根据combobox判断是哪层,并自动赋正确的值这编号的方法我不会,谁能帮我想下么!

解决方案 »

  1.   

    用treeview的话 ,用节点的data属性,combobox可以用另外的tstrings来保存
      

  2.   

    ComboBox放仓库名,可以利用ComboBox.Items.Objects来存放数据。
    自己定义一个结构:
    PMyStruct=^TMyStruct;
    TMyStruct=record
        id:string;
    end;增加ComboBox列表的时候:
    var
        p:PMyStruct;begin
    .....    
        new(p);
        p^.id:=.....
        ComboBox1.Items.AddObjcet(strName,TObject(p));    
    这样在选择了ComboBox1的Items的时候就能够得到id信息。
        id:=PMyStruct(ComboBox1.Items.Object[ComboBox1.ItemIndex])^.id;
      

  3.   

    jinjazz的方法可行,只是要注意,data是一个指针
      

  4.   

    那怎么用节点的data属性 来实现编号啊?能给个具体点的例子好让我体会一下!