找回密码
 加入
搜索
查看: 3989|回复: 3

[GUI管理] 【treeview to listview】点击取消点击treeview后,数据在listview中显示或取消

  [复制链接]
发表于 2012-5-23 11:51:49 | 显示全部楼层 |阅读模式
1、treeview说明 (父节点和item前都有checkbox供点击):
        SAC  -----> 父节点
           01001  ------->  item
           01002  ------->  item
2、listview就是一个普通的列表包含 两列
3、想实现的效果是:
    (1)、点击 SAC 前的checkbox 01001和01002 的这两个文本自动勾选(这点我已经完成),然后添加到 listview中
    (2)、取消 SAC 前的 checkbox,原本在listview中的01001和01002,自动在listview中消失
    (3)、同样是 直接点击01001或01002,自动添加到listview中,取消01001和01002前的  checkbox,01001和01002在listview中消失
4、付 treeview到listview的代码,
     (1) 将 treeview 点击的数据添加到  listview中,我已经做好
     (2) 如果取消 点击  treeview 前的checkbox,原本在listview中的数据无法自动消失, 这点请高手帮忙,,,小弟跪求~~~~~~~
【代码附件】
Func _TreeViewToListBox($TreeView, $ListView)
       $TreeView -----TreeView句柄
       $ListView ----- ListView句柄
        Local $TVItemString = ""  
        Local $LsIndex
        Local $TVSubItemString = _GUICtrlTreeView_GetFirstItem($TreeView)
        Local $TreeViewIndexs = _GUICtrlTreeView_GetCount($TreeView) ;获取TreeView中项目的数量
     For $i = 0 To $TreeViewIndexs – 1    ;循环项目数量
        If _GUICtrlTreeView_GetChecked($TreeView, $TVSubItemString) = True Then
             $TVItemString = _GUICtrlTreeView_GetText($TreeView, $TVSubItemString)
             If _GUICtrlListView_FindInText($ListView, $TVItemString) = -1 Then
                    _ GUICtrlListView _InsertItem($ListView, $TVItemString)
             EndIf
         Else
            $TVItemString = _GUICtrlTreeView_GetText($TreeView, $TVSubItemString)
            If _ GUICtrlListView _FindInText($ListView, $TVItemString) <> -1 Then
                  $deleteText = _ GUICtrlListView _FindInText($ListView, $TVItemString))
                   _ GUICtrlListView _DeleteItem($ListView, deleteText)   就是这个删除的,删除不了
            EndIf
        EndIf
        $TVSubItemString = _GUICtrlTreeView_GetNext($TreeView, $TVSubItemString) ;吧TreeView句柄移至下一个
    Next
EndFunc
发表于 2012-5-23 12:02:57 | 显示全部楼层
本帖最后由 shqf 于 2012-5-23 12:07 编辑

这个思路,你看行不?在treeview框和listview框之间加个按钮“更新”,如点击后,则将treeview框中的选中的项加入到右边的listview框中(已经有的不用加上),将treeview框中没有选中的项在右边listview框中予以删除。
 楼主| 发表于 2012-5-23 12:22:44 | 显示全部楼层
回复 2# shqf

1、目前做的就是这样一个treeview和一个listview框,
2、但是没有你说的  “更新”按钮,不需要“更新”按钮,点击 treeview前的checkbox数据是可以在listview中的,添加的我会了。但是删除的还不会,,,在线狂等高手出现啊
发表于 2012-5-23 14:01:34 | 显示全部楼层
加上beginupdate,endupdate试试看
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-25 21:02 , Processed in 0.074953 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表