【delphi开源代码栏目提醒】:网学会员鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“F_Popedom.pas”一文,供大家参考学习
unit F_Popedom;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, DB, ADODB, ImgList, ExtCtrls;
type
PCRMRecord = ^TCRMRecord;
TCRMRecord = record
ID:string;
end;
TFrm_Popedom = class(TForm)
TreeView1: TTreeView;
StatusBar1: TStatusBar;
ImageList1: TImageList;
Panel1: TPanel;
procedure myshow(ADOQuer : TADOQuery; S : String; N : TTreeNode);
procedure FormShow(Sender: TObject);
procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
procedure TreeView1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_Popedom: TFrm_Popedom;
implementation
uses F_Data, F_Main, F_ManageUser;
{$R *.dfm}
procedure TFrm_Popedom.myshow(ADOQuer: TADOQuery; S : String; N : TTreeNode);
var
i : integer;
TempNode:TTreeNode;
CRMRecord:PCRMRecord;
begin
with ADOQuer do
begin
close;
SQL.Clear;
SQL.Add('select * from tb_Tree_Popedom where (Fu_ID ='+''''+S+''''+') and (User_ID='+''''+Trim(DataModule1.ADO_user.FieldByName('User_ID').AsString)+''''+')');
open;
end;
for i:=0 to ADOQuer.RecordCount-1 do
begin
TempNode := TreeView1.Items.AddChild(N,ADOQuer.FieldByName('Tree_Name').AsString);
if ADOQuer.FieldByName('User_Pop').AsBoolean then
begin
TempNode.ImageIndex := 1;
end
else
begin
TempNode.ImageIndex := 0;
end;
TempNode.SelectedIndex := TempNode.ImageIndex;
New(CRMRecord);
CRMRecord.ID := ADOQuer.FieldByName('Zhu_ID').AsString;
TempNode.Data := CRMRecord;
TreeView1.Items.AddChild(TempNode,'');
ADOQuer.Next;
end;
end;
procedure TFrm_Popedom.FormShow(Sender: TObject);
begin
StatusBar1.Panels[0].Text := '正在被修改权限的用户:'+DataModule1.ADO_user.FieldByName('User_Name').AsString;
TreeView1.Items.Clear;
myshow(DataModule1.ADOQuery2,'0',Nil);
end;
procedure TFrm_Popedom.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
Node.DeleteChildren;
myshow(DataModule1.ADOQuery2,PCRMRecord(Node.data).ID,Node);
end;
procedure TFrm_Popedom.TreeView1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Node:TTreeNode;
CRMRecord:PCRMRecord;
begin
if Button = mbRight then
begin
Node := TreeView1.GetNodeAt(x,y);
if Assigned(Node) then
begin
CRMRecord := PCRMRecord(Node.Data);
if Node.ImageIndex = 0 then
begin
Node.ImageIndex := 1;
end
else
begin
Node.ImageIndex := 0;
end;
Node.SelectedIndex := Node.ImageIndex;
with DataModule1.ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('select * from tb_Tree_Popedom where (zhu_id ='+''''+
PCRMRecord(Node.data).ID +''''+') and (User_ID='+''''+Trim(DataModule1.ADO_user.FieldByName('User_ID').AsString)+''''+')');
open;
Edit;
if Node.ImageIndex=1 then
DataModule1.ADOQuery2.FieldByName('User_Pop').AsBoolean := True
else
DataModule1.ADOQuery2.FieldByName('User_Pop').AsBoolean := False;
Post;
end;
end;
end;
end;
procedure TFrm_Popedom.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if DataModule1.ADO_user.FieldByName('User_Name').AsString=Frm_Main.User_Name then
begin
Frm_Main.MenuPop;
Frm_Main.ModuleIfTrue(DataModule1.ADO_Pop,Frm_ManageUser);
end;
end;
end.