 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 1 樓
|
發表於: 星期二 十二月 19, 2006 9:12 am 文章主題: 如何将Treeview控件顺序文本保存到另一个表中? |
|
|
Treeview控件显示的文本,随着不断的修改,其存放在表中的顺序是一直加在表后面的。我的想法是将按照Treeview控件显示的顺序内容加入到另一个表中形成与Treeview控件显示的顺序一至。见图1。图1中的编号顺序就是我要在另一个表中存放的顺序。图1的数据是从图2的表中读出来的。见图2。现在的程序从图1中读出写到另一个表中,见图3。程序如下:
……
SELECT 1
for i=1 TO RECCOUNT()
GO i
_parentt=ALLTRIM(parentt)
_keyy=ALLTRIM(keyy)
_sj=时间
_sm=说明
_tm=题目
sele jiaoanbao
locate for jiaoanbao.Keyy=_parentt
IF FOUND()
_Nrec=RECNO()
FOR j=_Nrec TO RECCOUNT()
GO j
IF parentt=_keyy
LOOP
ELSE && for j
_Jrec=RECNO()
insert blank
replace jiaoanbao.题目 with _tm
replace jiaoanbao.时间 with _sj
replace jiaoanbao.说明 with _sm
replace keyy WITH _keyy
replace parentt WITH _parentt
exit
ENDIF
NEXT
ELSE &¬ found
append blank
replace jiaoanbao.题目 with _tm
replace jiaoanbao.时间 with _sj
replace jiaoanbao.说明 with _sm
replace keyy WITH _keyy
replace parentt WITH _parentt
ENDIF
replace 按号 with i
SELECT 1
ENDFOR
仔细分析图3,在Treeview控件中有子节点的,读出来的数据是加在当前兄弟的下面,但一旦换到另一个节点时,它不是加在当前表的下面,而是在这个结点的上面加的记录。如何解决这一问题,我日夜思索,不得其解。我曾想过,用Treeview控件显示节点数据的方法,加到表中,但也无从下手。请教各路高手救我一把。我快休克了。
 |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 2 樓
|
發表於: 星期三 十二月 20, 2006 1:40 am 文章主題: |
|
|
臨時寫的, 採用遞迴方式來設計, 可無限階, 未測試.
代碼: |
SELECT 1
use mytreedbf
copy stru to putnewfile
sele 2
use putnewfile
listthis( space(len( parentt)) ) &&--假?#93;第一階的父階為空白
return
func listthis
lpara mparentt
lpara mfile, mret
mfile='_'+alltrim(mparentt)
select * from mytreedbf where parentt=mparentt into cursor &mfile
mret = (recc()>0) &&--有這個階層的資料
scan
sele (mfile)
scat to tempfield
sele putnewfile &&--將這筆資料放到另一個table
appe blank
gath from tempfield
*找下一階, 請自行過濾有問題的階層資料
listthis( keyy )
endscan
use in (mfile)
return mret
|
_________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 3 樓
|
發表於: 星期四 十二月 21, 2006 4:59 pm 文章主題: 谢谢Garfield! |
|
|
谢谢Garfield! 你是天才,你是Foxpro精英,你是伟大的教育家!我衷心地感谢你!
在原程序上,我改了三个地方,加了一个语句,用了二个小时,成功了.
说实话,我请当地一大学计算机系的人,搞了2个星期,没有搞出来,你搞出来了.我今天可以睡觉了.
我还有一个问题,马上发贴,也请给予指教. |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|