| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | 
							- unit BillsBookmarkDm;
 
- interface
 
- uses
 
-   SysUtils, Classes, sdDB;
 
- type
 
-   TBillsBookmarkData = class(TDataModule)
 
-     sdvBillsBookmark: TsdDataView;
 
-     sdvStageBookmark: TsdDataView;
 
-     procedure sdvBillsBookmarkFilterRecord(ARecord: TsdDataRecord;
 
-       var Allow: Boolean);
 
-     procedure sdvStageBookmarkFilterRecord(ARecord: TsdDataRecord;
 
-       var Allow: Boolean);
 
-   private
 
-     FProjectData: TObject;
 
-   public
 
-     constructor Create(AProjectData: TObject);
 
-     destructor Destroy; override;
 
-     procedure Open;
 
-     procedure Close;
 
-     procedure ResetPhaseStageLink;
 
-     procedure RefreshBillsBookmark;
 
-     procedure RefreshStageBookmark;
 
-   end;
 
- implementation
 
- uses
 
-   ProjectData, BillsDm, BillsTree;
 
- {$R *.dfm}
 
- { TBillsBookmarkData }
 
- procedure TBillsBookmarkData.Close;
 
- begin
 
-   sdvBillsBookmark.Close;
 
-   sdvStageBookmark.Close;
 
- end;
 
- constructor TBillsBookmarkData.Create(AProjectData: TObject);
 
- begin
 
-   inherited Create(nil);
 
-   FProjectData := AProjectData;
 
- end;
 
- destructor TBillsBookmarkData.Destroy;
 
- begin
 
-   inherited;
 
- end;
 
- procedure TBillsBookmarkData.Open;
 
- begin
 
-   sdvBillsBookmark.DataSet := TProjectData(FProjectData).BillsData.sddBills;
 
-   sdvBillsBookmark.Open;
 
-   sdvStageBookmark.DataSet := TProjectData(FProjectData).BillsData.sddBills;
 
-   sdvStageBookmark.Open;
 
- end;
 
- procedure TBillsBookmarkData.RefreshBillsBookmark;
 
- begin
 
-   sdvBillsBookmark.RefreshFilter;
 
- end;
 
- procedure TBillsBookmarkData.RefreshStageBookmark;
 
- begin
 
-   sdvStageBookmark.RefreshFilter;
 
- end;
 
- procedure TBillsBookmarkData.ResetPhaseStageLink;
 
- begin
 
-   with TProjectData(FProjectData).PhaseData do
 
-   begin
 
-     sdvStageBookmark.Columns.FindColumn('HasBookmark').LookupDataSet := StageData.sddStage;
 
-     sdvStageBookmark.Columns.FindColumn('MarkMemo').LookupDataSet := StageData.sddStage;
 
-   end;
 
-   sdvStageBookmark.RefreshFilter;
 
- end;
 
- procedure TBillsBookmarkData.sdvBillsBookmarkFilterRecord(
 
-   ARecord: TsdDataRecord; var Allow: Boolean);
 
- begin
 
-   Allow := ARecord.ValueByName('HasBookmark').AsBoolean;
 
- end;
 
- procedure TBillsBookmarkData.sdvStageBookmarkFilterRecord(
 
-   ARecord: TsdDataRecord; var Allow: Boolean);
 
- var
 
-   vNode: TBillsIDTreeNode;
 
-   StageRec: TsdDataRecord;
 
- begin
 
-   if (TProjectData(FProjectData).ProjProperties.PhaseCount > 0) and
 
-      (TProjectData(FProjectData).PhaseData.Active) then
 
-   begin
 
-     with TProjectData(FProjectData).BillsMeasureData do
 
-       vNode := TBillsIDTreeNode(BillsMeasureTree.FindNode(ARecord.ValueByName('ID').AsInteger));
 
-     if Assigned(vNode) then
 
-     begin
 
-       StageRec := vNode.StageRec;
 
-       if Assigned(StageRec) then
 
-         Allow := StageRec.ValueByName('HasBookmark').AsBoolean
 
-       else
 
-         Allow := False;
 
-     end
 
-     else
 
-       Allow := False;
 
-   end
 
-   else
 
-     Allow := False;
 
- end;
 
- end.
 
 
  |