如何把图中的table转到treeview中? |
尚未結案
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
如图,我想把tabel中的内容转到treeview中,格式如图所示,其中table中的栏位是: dqdm(地区代码),dqmc(地区名称),zdqcd(子地区长度),zdqsl(子地区数量),我初学,想破头也做不出来,请各位大大帮忙,不胜感激之至!
附加檔案:480e9845a9233_1.jpg
|
JustinShen
中階會員 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
參考這個吧, IBQ_Menu 是一個Table, 裡面有很多是我的用語, 不用理會, 只要看 TreeView 如何運用, 再搭配你自己的Table 的層次判斷即可
[code delphi] procedure TForm_UserFunc.FormCreate(Sender: TObject); var mid: integer; root, croot: TTreeNode; begin muid:= Form_UserIB.IBQ_UsersUSERID.AsString; Table_Func.DatabaseName:= U_VarDef.SYSalias; Table_Func.Open; IBQ_Menu.Open; TreeView1.Items.BeginUpdate; TreeView1.Items.Clear; root:= nil; while not IBQ_Menu.Eof do begin mid:= StrtoIntDef(IBQ_MenuMENUID.AsString,0); if mid<>0 then begin // 讀取每一作業項目有多少項功能設定 Table_Func.Filter:= '(MENUID=''' InttoStr(mid) ''') and ' '(PROG=' '''通用'' or PROG=''' U_VarDef.progid ''')'; // 加入 root if (mid<>0) and ((mid mod 100)=0) then begin root:= TreeView1.Items.Add(nil,IBQ_MenuMENUNAME.AsString); root.SelectedIndex:= IBQ_MenuMENUID.AsInteger; end // 加入 subTree else begin croot:= TreeView1.Items.AddChild(root,IBQ_MenuMENUNAME.AsString format('[%.2d]',[Table_Func.RecordCount])); croot.SelectedIndex:= IBQ_MenuMENUID.AsInteger; end; end; IBQ_Menu.Next; end; TreeView1.Items.EndUpdate; TreeView1.ShowButtons:= True; TreeView1.FullExpand; TreeView1.TopItem:= TreeView1.Items.Item[0]; end; [/code] |
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
我现在只能做出第一层,code如下,能否请大大们帮帮我,在下初学,惶恐!
var rootnode: TTreeNode; i:integer; begin Screen.Cursor := crSQLWait; fmjczl_kszl.adoquery1.close; fmjczl_kszl.adoquery1.sql.clear; fmjczl_kszl.adoquery1.sql.add('IF EXISTS (SELECT *') ; fmjczl_kszl.adoquery1.sql.add('FROM sysobjects') ; fmjczl_kszl.adoquery1.sql.add('WHERE id = object_id(N' '''' '[dbo].[jczl_dqzl]' '''' ') AND OBJECTPROPERTY(id,') ; fmjczl_kszl.adoquery1.sql.add('N' '''' 'IsUserTable' '''' ') = 1) DROP TABLE [dbo].[jczl_dqzl]') ; fmjczl_kszl.adoquery1.sql.add('SELECT * into jczl_dqzl') ; fmjczl_kszl.adoquery1.sql.add('FROM'); fmjczl_kszl.adoquery1.sql.add(server); fmjczl_kszl.adoquery1.sql.add('.'); fmjczl_kszl.adoquery1.sql.add(zt); fmjczl_kszl.adoquery1.sql.add('.dbo.dqzl'); fmjczl_kszl.adoquery1.sql.add('where dqqc is not null'); fmjczl_kszl.adoquery1.execsql; fmjczl_kszl.adoquery1.close; fmjczl_kszl.adoquery1.sql.clear; fmjczl_kszl.adoquery1.Active:=false; fmjczl_kszl.adoquery1.sql.add('SELECT * from jczl_dqzl') ; fmjczl_kszl.adoquery1.Active:=true; fmjczl_kszl.treeview1.items.Clear; rootnode:=fmjczl_kszl.treeview1.items.Addfirst(nil,'所有渠道'); fmjczl_kszl.adoquery1.First; for i:=0 to fmjczl_kszl.adoquery1.recordcount-1 do begin fmjczl_kszl.treeview1.Items.addchild(rootnode,fmjczl_kszl.adoquery1.fieldvalues['dqmc'] ' (' fmjczl_kszl.adoquery1.fieldvalues['dqdm'] ' )'); // treeview1.Items.addchild(rootnode,adoquery1.fieldvalues['dqdm']); fmjczl_kszl.adoquery1.Next; end; fmjczl_kszl.dbgrid1.ReadOnly:=true; // treeview1.FullExpand; rootnode.Expanded:=true; Screen.Cursor := crDefault; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |