Bläddra i källkod

zjGrid, OnGetCellText, Error

MaiXinRong 8 år sedan
förälder
incheckning
38180cea47
2 ändrade filer med 7 tillägg och 21 borttagningar
  1. 4 4
      DataModules/ReportMemoryDm/rmWeiWuZjjlGatherDm.pas
  2. 3 17
      Frames/ZJJLFme.pas

+ 4 - 4
DataModules/ReportMemoryDm/rmWeiWuZjjlGatherDm.pas

@@ -57,10 +57,13 @@ type
     cdsZjjlFBFXName: TWideStringField;
     cdsZjjlUnitName: TWideStringField;
     cdsZjjlDrawingCode: TWideStringField;
+    cdsZjjlFormulaMemo: TMemoField;
+    cdsZjjlRelaFile: TMemoField;
     cdsZjjlBillsCode: TStringField;
     cdsZjjlBillsName: TWideStringField;
     cdsZjjlBillsUnits: TWideStringField;
-    cdsZjjlBillsPrice: TFloatField;
+    cdsZjjlBillsPrice: TFloatField; 
+    cdsZjjlFilterDrawingCode: TWideStringField;
     cdsZjjlBillsCurDealQuantity: TFloatField;
     cdsZjjlBillsCurDealTotalPrice: TFloatField;
     cdsZjjlBillsCurQcQuantity: TFloatField;
@@ -73,9 +76,6 @@ type
     cdsZjjlBillsEndQcTotalPrice: TFloatField;
     cdsZjjlBillsEndGatherQuantity: TFloatField;
     cdsZjjlBillsEndGatherTotalPrice: TFloatField;
-    cdsZjjlFilterDrawingCode: TWideStringField;
-    cdsZjjlRelaFile: TMemoField;
-    cdsZjjlFormulaMemo: TMemoField;
   private
     FZjjlList: TList;
     function FindZjjl(ARec, ABillsRec: TsdDataRecord): TZjjl;

+ 3 - 17
Frames/ZJJLFme.pas

@@ -68,7 +68,6 @@ type
     procedure RefreshTitle;
     procedure GenerateZJJL;
 
-    procedure DetailGridCellTextChanged(Sender: TObject; Col, Row: Integer);
     procedure InitDetailGrid;
   public
     constructor Create(AParent: TFrame; AZJJLData: TZJJLData);
@@ -237,20 +236,6 @@ begin
     TAction(Sender).Enabled := not StageDataReadOnly;
 end;
 
-procedure TZJJLFrame.DetailGridCellTextChanged(Sender: TObject; Col,
-  Row: Integer);
-var
-  Rec: TsdDataRecord;
-begin
-  Rec := saZJJL.DataView.Current;
-  if not Assigned(Rec) then Exit;
-
-  if (Row = 8) then
-    Rec.ValueByName('FormulaMemo').AsString := TZJGrid(Sender).Cells[Col, Row].Text
-  else if (Row = 10) then
-    Rec.ValueByName('RelaFile').AsString := TZJGrid(Sender).Cells[Col, Row].Text;
-end;
-
 procedure TZJJLFrame.zgDetailInfoGetCellText(Sender: TObject;
   const ACoord: TPoint; var Value: String; DisplayText: Boolean);
 
@@ -274,7 +259,8 @@ procedure TZJJLFrame.zgDetailInfoGetCellText(Sender: TObject;
   end;
 
 begin
-  Value := GetText(TRowIndex(ACoord.Y));
+  if (ACoord.Y >= 0) and (ACoord.Y <= 10) then
+    Value := GetText(TRowIndex(ACoord.Y));
 end;
 
 procedure TZJJLFrame.InitDetailGrid;
@@ -319,7 +305,7 @@ var
   sFieldName: string;
 begin
   sFieldName := RowFields[TRowIndex(ACoord.Y)];
-  Allow := sFieldName <> '';
+  Allow := (sFieldName <> '') and Assigned(saZJJL.DataView.Current);
 end;
 
 end.