PB生成的樹的結構,能夠類似資源管理器的時候,,把節點拖拽,放在任意的分支上?有沒有類似例子代碼?
uj5u.com熱心網友回復:
可以實作拖動,但需要自己寫代碼uj5u.com熱心網友回復:
可參考代碼如下在dragdrop事件中:
Long ll_NewItem
TreeViewItem ltvi_Target//目標
TreeViewItem ltvi_Source//源
TreeViewItem ltvi_Parent//父節點
TreeViewItem ltvi_New
dec lc_id
dec lc_pid
string ls_sql
If GetItem(il_DropTarget, ltvi_Target) = -1 Then Return
If GetItem(il_DragSource, ltvi_Source) = -1 Then Return
lc_id = dec( ltvi_Source.data )
lc_pid = dec ( ltvi_Target.data )
SetDropHighlight(0)
GetItem(il_DragParent, ltvi_Parent)
If messagebox( "","您確定移動 " + &
ltvi_Source.Label + " 從 " + ltvi_Parent.label + " 到 " + ltvi_Target.label + &
"?", Question!, YesNo!,1) = 2 Then Return
ls_sql = "update " + is_tablename + &
" set pid = " + string( lc_pid ) + &
",operator = " + string( gc_userid ) + &
" where id = " + string( lc_id )
execute immediate :ls_sql;
////messagebox("",ls_sql)
//update sys_org
//set pid =:lc_pid
//where id = :lc_id using sqlca;
if sqlca.sqlcode <> 0 then
rollback;
messagebox( "","更新機構失敗!9" +sqlca.sqlerrtext,stopsign!)
gf_writeerrors()
return
else
// commit;
long res
res = parent.of_changecode(lc_id,lc_pid)
if res <> -1 then
commit;
DeleteItem(il_DragSource)
SetNull(ltvi_Source.ItemHandle)
ltvi_New.data = ltvi_Source.data
ltvi_New.label = ltvi_Source.label
ltvi_New.pictureindex = ltvi_Source.pictureindex
ltvi_New.selectedpictureindex = ltvi_Source.selectedpictureindex
ltvi_New.children = ltvi_Source.children
ll_NewItem = InsertItemSort(il_DropTarget, ltvi_New)
SelectItem(ll_NewItem)
else
rollback;
messagebox( "","更新機構失敗!",stopsign!)
gf_writeerrors()
return
end if
end if
uj5u.com熱心網友回復:
我直接復制過去,除錯就可以?uj5u.com熱心網友回復:
gf_writeerrors(),of_changecode 這個2個函式能不能粘出啦uj5u.com熱心網友回復:
直接螢屏掉,這段代碼是讓你參考的,不是能直接實作你的功能
uj5u.com熱心網友回復:
我拖動的時候沒有效果,是不是樹的那個屬性還要設定?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/23021.html
標籤:基礎類
上一篇:怎么樣重繪資料視窗
下一篇:草鳥請教
