How can i read values from TTMSFNCGrid.FixedFooterRows
and
How can i format the TTMSFNCGrid.ColumnCalculation[3] := ccSUM;
layout. (FormatFloat('0.00', sum() )
uses
LCLTMSFNCGraphicsTypes, LCLTMSFNCGridData;
procedure TForm1.FormCreate(Sender: TObject);
var
i, j: Integer;
begin
//format column value
TMSFNCGrid1.OnGetCellData := @TMSFNCGrid1GetCellData;
//footer
TMSFNCGrid1.FixedFooterRows := 1;
TMSFNCGrid1.ColumnCalculation[1] := ccCount;
//
for i := 0 to TMSFNCGrid1.RowCount - 1 - TMSFNCGrid1.FixedFooterRows do
begin
for j := 0 to TMSFNCGrid1.ColumnCount - 1 do
begin
if i = 0 then
TMSFNCGrid1.Cells[j, i] := Format('Column %d', [j])
else
TMSFNCGrid1.Cells[j, i] := Format('(%d, %d)', [i, j]);
end;
end;
TMSFNCGrid1.Columns[1].HorzAlignment := gtaCenter;
TMSFNCGrid1.Columns[2].HorzAlignment := gtaTrailing; //horizontal: Bottom; vertical: Right
TMSFNCGrid1.Columns[3].VertAlignment := gtaLeading; //horizontal: Top; vertical: Left
//get footer value
Caption := TMSFNCGrid1.Cells[1, TMSFNCGrid1.RowCount - 1];
end;
procedure TForm1.TMSFNCGrid1GetCellData(Sender: TObject; ACol, ARow: Integer; var CellString: String);
var
val: Double;
begin
//only for footer rows
if (TMSFNCGrid1.FixedFooterRows > 0) and (ARow >= TMSFNCGrid1.RowCount - TMSFNCGrid1.FixedFooterRows) then
begin
if TryStrToFloat(CellString, val) then
CellString := FormatFloat('0.00', val);
end;
end;
Thank you Paweł Dmitruk, it helped me