| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | 
							- unit StandardBillsDm;
 
- interface
 
- uses
 
-   SysUtils, Classes, ADODB, DB, DBClient, Provider, sdIDTree,
 
-   UtilMethods, sdDB, sdProvider;
 
- type
 
-   TStandardBillsData = class(TDataModule)
 
-     sdpStdBills: TsdADOProvider;
 
-     sddStdBills: TsdDataSet;
 
-     sdvStdBills: TsdDataView;
 
-   private
 
-     FBillsTree: TsdIDTree;
 
-     procedure CreateBillsTree;
 
-     procedure OpenConnetion(AConnection: TADOConnection);
 
-     procedure ExpandFirstNode;
 
-   public
 
-     constructor Create(AOwner: TComponent); override;
 
-     destructor Destroy; override;
 
-     procedure Open(AConnection: TADOConnection);
 
-     property BillsTree: TsdIDTree read FBillsTree;
 
-   end;
 
- implementation
 
- {$R *.dfm}
 
- { TStandardBillsData }
 
- constructor TStandardBillsData.Create(AOwner: TComponent);
 
- begin
 
-   inherited;
 
-   CreateBillsTree;
 
- end;
 
- procedure TStandardBillsData.CreateBillsTree;
 
- begin
 
-   FBillsTree := TsdIDTree.Create;
 
-   FBillsTree.KeyFieldName := 'ID';
 
-   FBillsTree.ParentFieldName := 'ParentID';
 
-   FBillsTree.NextSiblingFieldName := 'NextID';
 
-   FBillsTree.AutoExpand := False;
 
- end;
 
- destructor TStandardBillsData.Destroy;
 
- begin
 
-   FBillsTree.Free;
 
-   inherited;
 
- end;
 
- procedure TStandardBillsData.ExpandFirstNode;
 
- begin
 
-   if FBillsTree.FirstNode <> nil then
 
-     FBillsTree.FirstNode.Expand;
 
- end;
 
- procedure TStandardBillsData.Open(AConnection: TADOConnection);
 
- begin
 
-   OpenConnetion(AConnection);
 
-   FBillsTree.DataView := sdvStdBills;
 
-   ExpandFirstNode;
 
- end;
 
- procedure TStandardBillsData.OpenConnetion(AConnection: TADOConnection);
 
- begin
 
-   sdpStdBills.Connection := AConnection;
 
-   sdpStdBills.TableName := 'BillsTree';
 
-   sddStdBills.Open;
 
-   sdvStdBills.Open;
 
-   sddStdBills.AddIndex('idxID', 'ID');
 
-   sddStdBills.AddIndex('sdxCode', 'Code');
 
-   sddStdBills.AddIndex('sddBCode', 'B_Code');
 
- end;
 
- end.
 
 
  |