Przeglądaj źródła

Bug #941 清单汇总,全部数量、单价列,值为0时应显示为空

MaiXinRong 9 lat temu
rodzic
commit
d98cce45d0

+ 4 - 0
DataModules/BillsGatherDm.dfm

@@ -254,6 +254,7 @@ object BillsGatherData: TBillsGatherData
         DisplayFormat = '0.##'
       end>
     OnCurrentChanged = sdvGclBillsCurrentChanged
+    OnGetText = sdvGclBillsGetText
     Left = 40
     Top = 136
   end
@@ -426,6 +427,7 @@ object BillsGatherData: TBillsGatherData
         FieldName = 'Quantity'
       end>
     OnFilterRecord = sdvDetailGclBillsFilterRecord
+    OnGetText = sdvGclBillsGetText
     Left = 40
     Top = 312
   end
@@ -487,6 +489,7 @@ object BillsGatherData: TBillsGatherData
         FieldName = 'TotalPrice'
       end>
     OnFilterRecord = sdvDetailGclBillsFilterRecord
+    OnGetText = sdvGclBillsGetText
     Left = 136
     Top = 312
   end
@@ -552,6 +555,7 @@ object BillsGatherData: TBillsGatherData
         FieldName = 'TotalPrice'
       end>
     OnFilterRecord = sdvDetailGclBillsFilterRecord
+    OnGetText = sdvGclBillsGetText
     Left = 240
     Top = 312
   end

+ 11 - 0
DataModules/BillsGatherDm.pas

@@ -23,6 +23,8 @@ type
     procedure sdvGclBillsCurrentChanged(ARecord: TsdDataRecord);
     procedure sdvDetailGclBillsFilterRecord(ARecord: TsdDataRecord;
       var Allow: Boolean);
+    procedure sdvGclBillsGetText(var Text: String; ARecord: TsdDataRecord;
+      AValue: TsdValue; AColumn: TsdViewColumn; DisplayText: Boolean);
   private
     FProjectData: TObject;
 
@@ -35,6 +37,7 @@ type
 
     procedure RefreshBills;
 
+    property ProjectData: TObject read FProjectData;
     property MainBillsTree: TsdIDTree read GetMainBillsTree;
   end;
 
@@ -347,4 +350,12 @@ begin
     Allow := False;
 end;
 
+procedure TBillsGatherData.sdvGclBillsGetText(var Text: String;
+  ARecord: TsdDataRecord; AValue: TsdValue; AColumn: TsdViewColumn;
+  DisplayText: Boolean);
+begin
+  if Assigned(AValue) and (AValue.Field.DataType = ftFloat) and (AValue.AsFloat = 0) then
+    Text := '';
+end;
+
 end.

+ 4 - 0
Frames/BillsGatherFme.pas

@@ -55,6 +55,9 @@ type
 
 implementation
 
+uses
+  ProjectData;
+
 {$R *.dfm}
 
 { TBillsGatherFrame }
@@ -78,6 +81,7 @@ end;
 procedure TBillsGatherFrame.RefreshBills;
 begin
   FBillsGatherData.RefreshBills;
+  ShowPhaseData := TProjectData(FBillsGatherData.ProjectData).ProjProperties.PhaseCount > 0;
 end;
 
 procedure TBillsGatherFrame.SetColumnVisible(const AColumn: string;