  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		zfgg
 
 
  註冊時間: 2004-05-31 文章: 179 來自: 中国
  第 1 樓
  | 
		
			
				 發表於: 星期日 十二月 10, 2006 1:51 pm    文章主題: 如何从Treeview控件中读出数据? | 
				     | 
			 
			
				
  | 
			 
			
				Treeview控件显示的顺序是与表中的数据存放顺序是不同的。我的想法是将Treeview控件显示的顺序结构内容(.nodes.text)用报表打印出来。
 
 
下面的表名“_cTm”是源表,“jiaoanbao”是空表。
 
 
我的设计思想是,不是从_cTm表中取出数据,而是从Treeview控件的中读出数据,从上到下的层次(包括子结点),与原表_cTm中的键值进行比较,找到键值,读出数据文本与其它的字段需要内容,加入到jiaoanbao表中。
 
 
我当前的设计方法是,用thisform.Olecontrol1.nodes.count得出总结点数,循环读出数据。这种方法是愚蠢的方法,实际上是读的表的方法,而不读treeview控件的方法。所以读出来的结果,与Treeview控件中的层次结果是不一样的。
 
 
表有函数reccount(),recn()。reccount()与Treeview控件count的属性类似,但Treeview控件有没有类似recn()这样的函数?
 
 
请问Treeview控件有没有顺序号的属性。我的这种思想也许不通,也许还可以用其它的方法来解决。请各位高手指教。
 
 
我的程序如下:
 
……
 
IF !USED("&_cTm")
 
SELECT 1
 
USE _TREEFILE_LOC+"&_cTm"
 
ELSE
 
SELECT 1
 
ENDIF
 
copy structure to _WINTEMP_LOC+"jiaoanbao" 
 
if !used("jiaoanbao")
 
sele 0
 
use _WINTEMP_LOC+"jiaoanbao"
 
endif
 
sele jiaoanbao
 
_nodcnt=thisform.Olecontrol1.nodes.count
 
local _sj,_sm
 
 
for i=1 to _nodcnt
 
append blank
 
SELECT 1
 
locate for Keyy=thisform.Olecontrol1.Nodes(i).key
 
_sj=时间
 
_sm=说明
 
sele jiaoanbao
 
replace jiaoanbao.题目 with thisform.Olecontrol1.nodes(i).text
 
replace jiaoanbao.时间 with _sj
 
replace jiaoanbao.说明 with _sm
 
endfor
 
if recc()>0
 
REPORT FORM _PATH_LOC+"teachplan.frx" PREVIEW
 
endif | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |