| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | unit StandardBillsDm;interfaceuses  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.
 |