git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@31 05c56307-c608-d34a-929d-697000501d7a
77 lines
2.1 KiB
ObjectPascal
77 lines
2.1 KiB
ObjectPascal
unit main;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
DB, Grids, DBGrids, DBTables, ExtCtrls, ComCtrls, StdCtrls,
|
|
DBCtrls, Buttons, ShellAPI, dxdbtrel;
|
|
|
|
type
|
|
TFMain = class(TForm)
|
|
Panel1: TPanel;
|
|
Table1: TTable;
|
|
Panel2: TPanel;
|
|
DBGrid1: TDBGrid;
|
|
DataSource1: TDataSource;
|
|
DBTreeViewEdit1: TdxDBTreeViewEdit;
|
|
DBNavigator1: TDBNavigator;
|
|
BitBtn1: TBitBtn;
|
|
Label1: TLabel;
|
|
procedure DBTreeViewEdit1CloseUp(Sender: TObject; Accept: Boolean);
|
|
procedure FormCreate(Sender: TObject);
|
|
end;
|
|
|
|
var
|
|
FMain: TFMain;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
{Fill TreeNodes}
|
|
procedure TFMain.DBTreeViewEdit1CloseUp(Sender: TObject; Accept: Boolean);
|
|
Var
|
|
tr : TTreeNode;
|
|
begin
|
|
tr := DBTreeViewEdit1.Selected;
|
|
if(Accept) then begin
|
|
Table1.FindField('state').AsString := '';
|
|
while (tr <> Nil) And (tr.Parent <> Nil) do begin
|
|
tr := tr.Parent;
|
|
if(tr.Level = 1) then
|
|
Table1.FindField('state').AsString := tr.Text;
|
|
if(tr.Level = 0) then
|
|
Table1.FindField('country').AsString := tr.Text;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TFMain.FormCreate(Sender: TObject);
|
|
var
|
|
tr, tr1 : TTreeNode;
|
|
begin
|
|
Table1.DisableControls;
|
|
DBTreeViewEdit1.Items.Clear;
|
|
while Not Table1.EOF do begin
|
|
tr := DBTreeViewEdit1.GetTreeNodeByText(Nil, Table1.FindField('country').AsString, False);
|
|
if(tr = Nil) then
|
|
tr := DBTreeViewEdit1.Items.Insert(Nil,Table1.FindField('country').AsString);
|
|
if(Table1.FindField('state').AsString <> '') then begin
|
|
tr1 := DBTreeViewEdit1.GetTreeNodeByText(tr, Table1.FindField('state').AsString, False);
|
|
if(tr1 = Nil) then
|
|
tr1 := DBTreeViewEdit1.Items.AddChild(tr,Table1.FindField('state').AsString);
|
|
tr := tr1;
|
|
end;
|
|
tr1 := DBTreeViewEdit1.GetTreeNodeByText(tr, Table1.FindField('city').AsString, False);
|
|
if(tr1 = Nil) then
|
|
DBTreeViewEdit1.Items.AddChild(tr,Table1.FindField('city').AsString);
|
|
Table1.Next;
|
|
end;
|
|
Table1.First;
|
|
Table1.EnableControls;
|
|
DBTreeViewEdit1.TreeViewSortType := stText;
|
|
end;
|
|
|
|
end.
|