本帖最后由 skywolfgg 于 2011-06-20 14:01:59 编辑

解决方案 »

  1.   

    其实这个功能cxTreeList已经具备啦!每条记录TcxTreeListNode都有一个Checked属性。不过要注意的时需要设置几个东西!TreeList的OptionsView中需要把CheckGroups设成True.然后每条Node的CheckGroupType属性都要设置成ncgCheckGroup(多选),如果想让每条Node只能单选的话。把CheckGroupType属性设成ncgRadioGroup就可以啦!
      

  2.   

    谢谢回复,不过你回复的跟我用的好像不是同一控件,我的数据在数据库中取出,另外我用cxTreeList控件也找不到你说的属性。
    数据量太大,不可能一个一个读出来再添加。
    还有一个问题,当选中checked时应该同时选中其所有子节点,不知道到这个该怎么设置.
      

  3.   

    cxTreeList和cxDBTreeList都是从TcxCustomTreeList继承下来的啊!我之前的回复可能我没说清楚!你完全可以使用cxDBTreeList从数据库中取出数据如果使用其Checked属性的话,当父节点Checked=True(被选中)其下所有的子节点都会被选中的!这不需要你写一行代码!你说你找不到属性!你看如下代码。
    procedure TForm1.FormCreate(Sender: TObject);
    begin
       cxDBTreeList1.OptionsView.CheckGroups := True;
       cxDBTreeList1.Items[0].CheckGroupType := ncgCheckGroup;
    end;
      

  4.   

    楼主说的是这个软件么
    关键字:Tree_DB当数据库有添加、编辑、修改节点和托放后进行自动更新。
    此产品包含在产品集合 obout components Suite 中。
     
     Tree_DB 
      

  5.   

    版本不同。。老版本里 cxtreelist里没有check的。新版本才有,控件属性 赋值 写法 都完全不同