| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- unit OtherMeasureFme;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, JimPages, XPMenu, ComCtrls, ToolWin, ExtCtrls, sdGridDBA, ZJGrid,
- ProjectData, StdCtrls, ZJCells;
- type
- TOtherMeasureFrame = class(TFrame)
- pnlRelaXmjType: TPanel;
- tbToolsButton: TToolBar;
- tobtnPhase: TToolButton;
- tobtnOnce: TToolButton;
- xpm: TXPMenu;
- pnlOtherMeasure: TPanel;
- jpsOtherMeasure: TJimPages;
- jpsOtherMeasurePhase: TJimPage;
- jpsOtherMeasureOnce: TJimPage;
- zgPhase: TZJGrid;
- zgOnce: TZJGrid;
- saOnce: TsdGridDBA;
- saPhase: TsdGridDBA;
- cbIsApproval: TComboBox;
- procedure tobtnPhaseClick(Sender: TObject);
- procedure zgPhaseKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure zgPhaseCellGetColor(Sender: TObject; ACoord: TPoint;
- var AColor: TColor);
- procedure zgOnceGetCellEditor(Sender: TObject; ACoord: TPoint;
- var AControl: TWinControl);
- procedure zgOnceEditorLoadCell(Sender: TObject; ACoord: TPoint;
- AControl: TWinControl);
- procedure zgOnceEditorSaveCell(Sender: TObject; ACoord: TPoint;
- AControl: TWinControl);
- procedure zgOnceGetCellText(Sender: TObject; const ACoord: TPoint;
- var Value: String; DisplayText: Boolean);
- private
- FProjectData: TProjectData;
- function GetOnceVisbleColumn(const AColName: string): Integer;
- public
- constructor Create(AProjectData: TProjectData);
- destructor Destroy; override;
- procedure ResetViewControl;
- end;
- implementation
- uses
- OtherMeasurePhaseDm, sdDB;
- {$R *.dfm}
- constructor TOtherMeasureFrame.Create(AProjectData: TProjectData);
- begin
- inherited Create(nil);
- FProjectData := AProjectData;
- saPhase.DataView := FProjectData.OtherMeasurePhaseData.sdvPhase;
- saOnce.DataView := FProjectData.OtherMeasureOnceData.sdvOnce;
- zgOnce.CellClass.Cols[GetOnceVisbleColumn('IsApproval')] := TZjComboCell;
- end;
- destructor TOtherMeasureFrame.Destroy;
- begin
- inherited;
- end;
- procedure TOtherMeasureFrame.ResetViewControl;
- begin
- saPhase.Columns.ColumnByName('CurTotalPrice').ReadOnly := TProjectData(FProjectData).StageDataReadOnly;
- if TProjectData(FProjectData).AllowInsert then
- saPhase.Options := [aoAllowInsert, aoAllowEdit, aoAllowDelete, aoAutoInsert, aoAllowUpMove, aoAllowDownMove]
- else
- saPhase.Options := [];
- end;
- procedure TOtherMeasureFrame.tobtnPhaseClick(Sender: TObject);
- begin
- jpsOtherMeasure.ActivePageIndex := TToolButton(Sender).Tag;
- tobtnPhase.Down := tobtnPhase.Tag = TToolButton(Sender).Tag;
- tobtnOnce.Down := tobtnOnce.Tag = TToolButton(Sender).Tag;
- end;
- procedure TOtherMeasureFrame.zgPhaseKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- if (ssCtrl in Shift) and (ssShift in Shift) and (ssAlt in Shift)
- and (Key in [68, 100]) then // 'd', 'D'
- begin
- with FProjectData.OtherMeasurePhaseData do
- FilterDeletedRec := not FilterDeletedRec;
- end;
- end;
- procedure TOtherMeasureFrame.zgPhaseCellGetColor(Sender: TObject;
- ACoord: TPoint; var AColor: TColor);
- var
- Rec: TsdDataRecord;
- begin
- Rec := saPhase.DataView.Records[ACoord.Y-1];
- if Assigned(Rec) and Rec.ValueByName('Deleted').AsBoolean then
- AColor := $00D5D5D5
- else
- AColor := clWindow;
- end;
- procedure TOtherMeasureFrame.zgOnceGetCellEditor(Sender: TObject;
- ACoord: TPoint; var AControl: TWinControl);
- begin
- if ACoord.X = GetOnceVisbleColumn('IsApproval') then
- AControl := cbIsApproval;
- end;
- procedure TOtherMeasureFrame.zgOnceEditorLoadCell(Sender: TObject;
- ACoord: TPoint; AControl: TWinControl);
- begin
- if ACoord.X = GetOnceVisbleColumn('IsApproval') then
- begin
- cbIsApproval.ItemIndex := cbIsApproval.Items.IndexOf(zgOnce.Cells[ACoord.X, ACoord.Y].Text);
- if cbIsApproval.Text = '' then
- cbIsApproval.Text := '·ñ';
- end;
- end;
- procedure TOtherMeasureFrame.zgOnceEditorSaveCell(Sender: TObject;
- ACoord: TPoint; AControl: TWinControl);
- begin
- if ACoord.X = GetOnceVisbleColumn('IsApproval') then
- begin
- if cbIsApproval.ItemIndex = 0 then
- zgOnce.Cells[ACoord.X, ACoord.Y].Text := 'True'
- else
- zgOnce.Cells[ACoord.X, ACoord.Y].Text := 'False';
- end;
- end;
- procedure TOtherMeasureFrame.zgOnceGetCellText(Sender: TObject;
- const ACoord: TPoint; var Value: String; DisplayText: Boolean);
- begin
- if (ACoord.X = GetOnceVisbleColumn('IsApproval')) and (ACoord.Y > 0) then
- begin
- if Value = 'True' then
- Value := 'ÊÇ'
- else
- Value := '·ñ';
- end;
- end;
- function TOtherMeasureFrame.GetOnceVisbleColumn(
- const AColName: string): Integer;
- begin
- Result := zgOnce.FixedColCount + saOnce.VisibleCol(AColName);
- end;
- end.
|