Browse Source

计量台账,选中行颜色

MaiXinRong 5 years ago
parent
commit
e5cffdb81c
2 changed files with 21 additions and 0 deletions
  1. 1 0
      Frames/BillsMeasureFme.dfm
  2. 20 0
      Frames/BillsMeasureFme.pas

+ 1 - 0
Frames/BillsMeasureFme.dfm

@@ -63,6 +63,7 @@ object BillsMeasureFrame: TBillsMeasureFrame
       Selection.TransparentColor = False
       FrozenCol = 0
       FrozenRow = 0
+      OnCurrentChanging = zgBillsMeasureCurrentChanging
       OnCurrentChanged = zgBillsMeasureCurrentChanged
       OnCellCanEdit = zgBillsMeasureCellCanEdit
       OnCellButtonClick = zgBillsMeasureCellButtonClick

+ 20 - 0
Frames/BillsMeasureFme.pas

@@ -63,6 +63,8 @@ type
     procedure actnCalculateAllUpdate(Sender: TObject);
     procedure zgBillsMeasureCellCanEdit(Sender: TObject;
       const ACoord: TPoint; var Allow: Boolean);
+    procedure zgBillsMeasureCurrentChanging(Sender: TObject;
+      const ACoord: TPoint; var Allow: Boolean);
   private
     FBillsMeasureData: TBillsMeasureData;
     FShowPriceChange: Boolean;
@@ -78,6 +80,8 @@ type
     FColVisibleManager: TBM_ColVisibleManager;
     FOnLocateZJJL: TLocateZJJLEvent;
 
+    FNeedRefreshColorRow: Integer;
+
     procedure ExpandMouseDown(AGridCell: TzjCell);
 
     function GridColToDBACol(AGridCol: Integer): Integer;
@@ -151,6 +155,8 @@ begin
   if not _IsDebugView then
     zgBillsMeasure.OnKeyDown := nil;
   stdBillsMeasure.OnGridBeforeDelete := OnGridBeforeDelete;
+  
+  FNeedRefreshColorRow := -1;
 end;
 
 destructor TBillsMeasureFrame.Destroy;
@@ -280,6 +286,8 @@ begin
         AColor := $00646AFE;
     end;
   end;
+  if (ACoord.Y = stdBillsMeasure.IDTree.Selected.MajorIndex + 2) then
+    AColor := $00cdfaff;
 end;
 
 procedure TBillsMeasureFrame.SetColumnVisible(const AColumn: string;
@@ -520,6 +528,12 @@ begin
     pnlNodeDetail.Visible := bShowDealProperty;
     LoadDealProperty(stnNode.Rec);
   end;
+  if (FNeedRefreshColorRow <> -1) then
+  begin
+    zgBillsMeasure.InvalidateRow(FNeedRefreshColorRow);
+    zgBillsMeasure.InvalidateRow(stnNode.MajorIndex + 2);
+    FNeedRefreshColorRow := -1;
+  end;
 end;
 
 procedure TBillsMeasureFrame.LoadDealProperty(ARec: TsdDataRecord);
@@ -846,4 +860,10 @@ begin
     Allow := False;
 end;
 
+procedure TBillsMeasureFrame.zgBillsMeasureCurrentChanging(Sender: TObject;
+  const ACoord: TPoint; var Allow: Boolean);
+begin
+  FNeedRefreshColorRow := zgBillsMeasure.CurRow;
+end;
+
 end.