为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Delphi treeview 多结点绑定

2018-04-28 5页 doc 17KB 7阅读

用户头像

is_729658

暂无简介

举报
Delphi treeview 多结点绑定Delphi treeview 多结点绑定 1. 创建一个单元如下 unit uDialogFindUnassignedUsersInfo; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uDialogBase, ComCtrls, RzTreeVw, StdCtrls, Menus, ADODB, DB; type TfrmDialogFindUnassign...
Delphi treeview 多结点绑定
Delphi treeview 多结点绑定 1. 创建一个单元如下 unit uDialogFindUnassignedUsersInfo; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uDialogBase, ComCtrls, RzTreeVw, StdCtrls, Menus, ADODB, DB; type TfrmDialogFindUnassignedUsersInfo = class(TfrmDialogBase) GroupBox1: TGroupBox; tvSystemManagerInfo: TRzTreeView; ADOConnection1: TADOConnection; procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } function Execute: Boolean; procedure CreateChildTree(ParentNode: TTreeNode); procedure ShowChildTree; end; type PNodeInfo = ^TNodeInfo; TNodeInfo = record ID: string; Name: string; end; var frmDialogFindUnassignedUsersInfo: TfrmDialogFindUnassignedUsersInfo; implementation uses uDataModule; {$R *.dfm} procedure TfrmDialogFindUnassignedUsersInfo.CreateChildTree (ParentNode: TTreeNode); var adoQuery: TADOQuery; ChildNode: TTreeNode; // 孩子结点 ChildNodeInfo: PNodeInfo; // 孩子结点信息 ParentID: string; begin inherited; adoQuery := TADOQuery.Create(nil); with adoQuery do begin try Connection := ADOConnection1; Close; SQL.Clear; if (PNodeInfo(ParentNode.Data)^.ID = '') then ParentID := '0' else ParentID := PNodeInfo(ParentNode.Data)^.ID; SQL.Add('SELECT t_ID,t_Name FROM tbl_Test WHERE t_ParentID =' + ParentID); Open; while not Eof do begin New(ChildNodeInfo); ChildNodeInfo^.ID := FieldByName('t_ID').AsString; ChildNodeInfo^.Name := FieldByName('t_Name').AsString; ChildNode := tvSystemManagerInfo.Items.AddChildObject(ParentNode, ChildNodeInfo^.Name, ChildNodeInfo); CreateChildTree(ChildNode); // 进行递归 Next; end; Close; except on E: Exception do Free; end; end; end; procedure TfrmDialogFindUnassignedUsersInfo.ShowChildTree; var ChildNode: TTreeNode; // 孩子结点 ChildNodeInfo: PNodeInfo; // 孩子结点信息 begin inherited; New(ChildNodeInfo); ChildNodeInfo^.ID := '0'; // 此方法中最顶结点为0标识 ChildNodeInfo^.Name := ''; ChildNode := tvSystemManagerInfo.Items.AddChildObject(nil, '全部', ChildNodeInfo); CreateChildTree(ChildNode); // 进行递归 tvSystemManagerInfo.FullExpand; end; procedure TfrmDialogFindUnassignedUsersInfo.FormShow(Sender: TObject); begin inherited; ShowChildTree; end; procedure TfrmDialogFindUnassignedUsersInfo.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; frmDialogFindUnassignedUsersInfo := nil; end; End. 到此,绑定结果。
/
本文档为【Delphi treeview 多结点绑定】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索