Fórum tree view banco de dados #299296

13/10/2005

0

salve gente... alguém tem ai um exemplinho rapidão de uma rotina que lee dados do banco e cria uma tree view?

valeu!!!!


Rfpsatin

Rfpsatin

Responder

Posts

26/08/2008

N_informatica

procedure CarregaTreeView(Sender: TObject);
procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure tfXPButton1Click(Sender: TObject);
procedure tfXPButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fFiltroPlano: TfFiltroPlano;
Indice : Integer;
np, nf, nn, nb, nt, nx : TTreeNode;
ng, nh, ni, nj, ns, no : TTreeNode;
i0, i1, i2, i3, i4, i5 : Integer;
i6, i7, i8, i9 : Integer;
d0, d1, d2, d3, d4, d5 : Integer;
d6, d7, d8, d9 : Integer;
Descricao, vRoot, vAnt : String;
vSubMenu : Boolean;
vTreeNode : TTreeNode;

implementation

uses fMenu, fFuncoes, rPlano;

{$R *.dfm}

procedure TfFiltroPlano.FormCreate(Sender: TObject);
begin
qrFilPlano.Close;
qrFilPlano.ParamByName(´nEmp´).AsString := frmMenu.qrBuscaFilialCNPJ.Value;
qrFilPlano.ParamByName(´nFil´).AsString := frmMenu.qrBuscaFilialCNPJ_FILIAL.Value;
qrFilPlano.Open;

CarregaTreeView(Sender);

end;

procedure TfFiltroPlano.CarregaTreeView(Sender: TObject);
var
vStatus : boolean;
vGrau : Integer;

begin
vSubMenu := False;
TreeView1.Items.Clear;
TreeView1.Images := ImageList1;
qrFilPlano.First;
while not qrFilPlano.Eof do
begin
vStatus := StrToBool(qrFilPlanoTREEVIEW.Value);
vGrau := StrToInt(qrFilPlanoGRAU.Value);
case vGrau of
0 :
begin
i0 := vGrau;
np := TreeView1.Items.Add(nil, Copy(qrFilPlanoCONTA.Value, 1, 1) + ´ - ´ + qrFilPlanoNOMENCLATURA.Value);
if vStatus then
begin
np.ImageIndex := 1;
np.SelectedIndex := 1;
end
else
begin
np.ImageIndex := 0;
np.SelectedIndex := 0;
end;
end;
1 :
begin
i1 := vGrau;
nf := TreeView1.Items.AddChild(np, Copy(qrFilPlanoCONTA.Value, 1, 4) + ´ - ´ + qrFilPlanoNOMENCLATURA.Value);
if vStatus then
begin
nf.ImageIndex := 1;
nf.SelectedIndex := 1;
end
else
begin
nf.ImageIndex := 0;
nf.SelectedIndex := 0;
end;
end;
2 :
begin
i2 := vGrau;
nn := TreeView1.Items.AddChild(nf, Copy(qrFilPlanoCONTA.Value, 1, 7) + ´ - ´ + qrFilPlanoNOMENCLATURA.Value);
if vStatus then
begin
nn.ImageIndex := 1;
nn.SelectedIndex := 1;
end
else
begin
nn.ImageIndex := 0;
nn.SelectedIndex := 0;
end;
end;
3 :
begin
i3 := vGrau;
nb := TreeView1.Items.AddChild(nn, Copy(qrFilPlanoCONTA.Value, 1, 11) + ´ - ´ + qrFilPlanoNOMENCLATURA.Value);
if vStatus then
begin
nb.ImageIndex := 1;
nb.SelectedIndex := 1;
end
else
begin
nb.ImageIndex := 0;
nb.SelectedIndex := 0;
end;
end;
end;
qrFilPlano.Next;
end;
TreeView1.Visible := True;
TreeView1.FullExpand;
TreeView1.Select(TreeView1.Items.Item[0]);
TreeView1.Repaint;
end;

procedure TfFiltroPlano.TreeView1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
vCta : String;

begin
if (Button = mbRight) then
begin
if (TreeView1.Selected.ImageIndex = 1) then
begin
qrAlteraStatus.Close;
qrAlteraStatus.ParamByName(´nStatus´).AsString := ´False´;
qrAlteraStatus.ParamByName(´nCta´).AsString := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´¬´;
qrAlteraStatus.ExecSQL;
if Perg(Handle, ´Deseja que a conta selecionada conste no relatório?´) then
begin
case Length(Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1)) of
1 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.00.00.000.0000´;
4 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.00.000.0000´;
7 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.000.0000´;
11 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.0000´;
end;
qrAlteraTreeView.Close;
qrAlteraTreeView.ParamByName(´nStatus´).AsString := ´True´;
qrAlteraTreeView.ParamByName(´nCta´).AsString := vCta;
qrAlteraTreeView.ExecSQL;
end;
end
else
begin
qrAlteraStatus.Close;
qrAlteraStatus.ParamByName(´nStatus´).AsString := ´True´;
qrAlteraStatus.ParamByName(´nCta´).AsString := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´¬´;
qrAlteraStatus.ExecSQL;
case Length(Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1)) of
1 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.00.00.000.0000´;
4 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.00.000.0000´;
7 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.000.0000´;
11 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.0000´;
end;
qrAlteraTreeView.Close;
qrAlteraTreeView.ParamByName(´nStatus´).AsString := ´True´;
qrAlteraTreeView.ParamByName(´nCta´).AsString := vCta;
qrAlteraTreeView.ExecSQL;
end;

qrFilPlano.Close;
qrFilPlano.ParamByName(´nEmp´).AsString := frmMenu.qrBuscaFilialCNPJ.Value;
qrFilPlano.ParamByName(´nFil´).AsString := frmMenu.qrBuscaFilialCNPJ_FILIAL.Value;
qrFilPlano.Open;

CarregaTreeView(sender);
end;
end;


Responder

Gostei + 0

26/08/2008

N_informatica

procedure CarregaTreeView(Sender: TObject);
procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure tfXPButton1Click(Sender: TObject);
procedure tfXPButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fFiltroPlano: TfFiltroPlano;
Indice : Integer;
np, nf, nn, nb, nt, nx : TTreeNode;
ng, nh, ni, nj, ns, no : TTreeNode;
i0, i1, i2, i3, i4, i5 : Integer;
i6, i7, i8, i9 : Integer;
d0, d1, d2, d3, d4, d5 : Integer;
d6, d7, d8, d9 : Integer;
Descricao, vRoot, vAnt : String;
vSubMenu : Boolean;
vTreeNode : TTreeNode;

implementation

uses fMenu, fFuncoes, rPlano;

{$R *.dfm}

procedure TfFiltroPlano.FormCreate(Sender: TObject);
begin
qrFilPlano.Close;
qrFilPlano.ParamByName(´nEmp´).AsString := frmMenu.qrBuscaFilialCNPJ.Value;
qrFilPlano.ParamByName(´nFil´).AsString := frmMenu.qrBuscaFilialCNPJ_FILIAL.Value;
qrFilPlano.Open;

CarregaTreeView(Sender);

end;

procedure TfFiltroPlano.CarregaTreeView(Sender: TObject);
var
vStatus : boolean;
vGrau : Integer;

begin
vSubMenu := False;
TreeView1.Items.Clear;
TreeView1.Images := ImageList1;
qrFilPlano.First;
while not qrFilPlano.Eof do
begin
vStatus := StrToBool(qrFilPlanoTREEVIEW.Value);
vGrau := StrToInt(qrFilPlanoGRAU.Value);
case vGrau of
0 :
begin
i0 := vGrau;
np := TreeView1.Items.Add(nil, Copy(qrFilPlanoCONTA.Value, 1, 1) + ´ - ´ + qrFilPlanoNOMENCLATURA.Value);
if vStatus then
begin
np.ImageIndex := 1;
np.SelectedIndex := 1;
end
else
begin
np.ImageIndex := 0;
np.SelectedIndex := 0;
end;
end;
1 :
begin
i1 := vGrau;
nf := TreeView1.Items.AddChild(np, Copy(qrFilPlanoCONTA.Value, 1, 4) + ´ - ´ + qrFilPlanoNOMENCLATURA.Value);
if vStatus then
begin
nf.ImageIndex := 1;
nf.SelectedIndex := 1;
end
else
begin
nf.ImageIndex := 0;
nf.SelectedIndex := 0;
end;
end;
2 :
begin
i2 := vGrau;
nn := TreeView1.Items.AddChild(nf, Copy(qrFilPlanoCONTA.Value, 1, 7) + ´ - ´ + qrFilPlanoNOMENCLATURA.Value);
if vStatus then
begin
nn.ImageIndex := 1;
nn.SelectedIndex := 1;
end
else
begin
nn.ImageIndex := 0;
nn.SelectedIndex := 0;
end;
end;
3 :
begin
i3 := vGrau;
nb := TreeView1.Items.AddChild(nn, Copy(qrFilPlanoCONTA.Value, 1, 11) + ´ - ´ + qrFilPlanoNOMENCLATURA.Value);
if vStatus then
begin
nb.ImageIndex := 1;
nb.SelectedIndex := 1;
end
else
begin
nb.ImageIndex := 0;
nb.SelectedIndex := 0;
end;
end;
end;
qrFilPlano.Next;
end;
TreeView1.Visible := True;
TreeView1.FullExpand;
TreeView1.Select(TreeView1.Items.Item[0]);
TreeView1.Repaint;
end;

procedure TfFiltroPlano.TreeView1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
vCta : String;

begin
if (Button = mbRight) then
begin
if (TreeView1.Selected.ImageIndex = 1) then
begin
qrAlteraStatus.Close;
qrAlteraStatus.ParamByName(´nStatus´).AsString := ´False´;
qrAlteraStatus.ParamByName(´nCta´).AsString := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´¬´;
qrAlteraStatus.ExecSQL;
if Perg(Handle, ´Deseja que a conta selecionada conste no relatório?´) then
begin
case Length(Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1)) of
1 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.00.00.000.0000´;
4 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.00.000.0000´;
7 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.000.0000´;
11 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.0000´;
end;
qrAlteraTreeView.Close;
qrAlteraTreeView.ParamByName(´nStatus´).AsString := ´True´;
qrAlteraTreeView.ParamByName(´nCta´).AsString := vCta;
qrAlteraTreeView.ExecSQL;
end;
end
else
begin
qrAlteraStatus.Close;
qrAlteraStatus.ParamByName(´nStatus´).AsString := ´True´;
qrAlteraStatus.ParamByName(´nCta´).AsString := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´¬´;
qrAlteraStatus.ExecSQL;
case Length(Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1)) of
1 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.00.00.000.0000´;
4 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.00.000.0000´;
7 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.000.0000´;
11 : vCta := Copy(TreeView1.Selected.Text, 1, Pos(´ - ´, TreeView1.Selected.Text) - 1) + ´.0000´;
end;
qrAlteraTreeView.Close;
qrAlteraTreeView.ParamByName(´nStatus´).AsString := ´True´;
qrAlteraTreeView.ParamByName(´nCta´).AsString := vCta;
qrAlteraTreeView.ExecSQL;
end;

qrFilPlano.Close;
qrFilPlano.ParamByName(´nEmp´).AsString := frmMenu.qrBuscaFilialCNPJ.Value;
qrFilPlano.ParamByName(´nFil´).AsString := frmMenu.qrBuscaFilialCNPJ_FILIAL.Value;
qrFilPlano.Open;

CarregaTreeView(sender);
end;
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar