我的对话框上有两个listctrl,一个listA用于项目选择,另外一个listB用于显示和添加这个项目的详细资料。这样,我的一个listB就必须要保存相当于几个list项目得数据,这样,我怎么作?难道要我自己做一个列表来保存,但是数据项是不一样的阿。能否我在另一个listB上定义n个ClistCtrl对象来保存呢,第一个listA的一个itemd,用listB的一个对象来保存和显示它的详细资料,最后,些数据库的时候,调用这些对象分别取出数据就可以了?但是,这种一个list定义多个对象怎么做呢?谁给点意见,我没做过,现在也不会做

解决方案 »

  1.   

    你的问题没说清楚,不过给你一点建议。定义几个结构体,保存不同项目的不同数据。在初始化listA中的项目时,动态生成定义的结构体。并将指针保存在listA中的item的lParam中,在选定listA中的某项目时从lParam中得到与该项目相关的内容的指针。这样就有一个问题,当得到一个lParam的值后,我如何知道它是一个什么类型的指针呢?
    可以在每个结构体的第一个字段中放入一个枚举型(其它类型也行,我习惯用枚举型)的变量。得到指针后,将其转换为该枚举类型,这样就可以判断具体是什么类型的指针了。
      

  2.   

    再说说,我在一个对话框上有两个list,分别是listA和listB。
    listB需要显示listA的每一个Item的详细资料或者分项目,举例说,listA的Item1有2个子项目数据,分别是data11,data12,listA的Item2有三个子项目,分别是data21,data22,data23,这些数据项需要在listB中显示。我在listA中点击Item1,则listB中需要显示data11,data12,我在listA中点击Item2,则listB中需要显示data21,data22,data23。
    最后,我当然需要将这些所有的数据都要保存到数据库里面,我的对话框中加一个按钮,“保存”,在这里,我就需要将所有数据写入数据库。
      

  3.   

    把listb的所有项合并成一个字符串,中间用你用不到的字符分割,如果每个都用到了,就定义转义字符,加载的时候拆分,存档的时候合并。这样始终是一个项。
      

  4.   

    JennyVenus() 的方法很不错!!同意!!
      

  5.   

    JennyVenus()的不失为一个办法,当数据量比较大的话可以考虑临时文件。
    既然用到数据库,也可以用到回滚功能,即没有按apply时就回滚记录。否则commit
      

  6.   

    Kingston(oo) ,我比较关心你说的这个,能够详细说说,或者举例说明?你如果有可以参考的东西,能够给我mail:[email protected]
     JennyVenus() 说的应该也是一个好办法,就是分析字符的时候很罗嗦,我详细考虑了这个方案,因为所有子项都是动态的,数量不确定,分析起来麻烦。这两种方法我正在考虑,看那种方式比较方便。