You've already forked lazarus-ccr
fpspreadsheet / spready demo: Formula edit line now shows unformatted number, like Excel and Calc do. A value edited in the formula edit line is now transferred to the worksheet (ignoring formulas so far).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3226 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -402,6 +402,7 @@ object Form1: TForm1
|
|||||||
Top = 2
|
Top = 2
|
||||||
Width = 755
|
Width = 755
|
||||||
Align = alClient
|
Align = alClient
|
||||||
|
OnEditingDone = EdFormulaEditingDone
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
object EdCellAddress: TEdit
|
object EdCellAddress: TEdit
|
||||||
|
@ -250,6 +250,7 @@ type
|
|||||||
procedure CbShowGridLinesClick(Sender: TObject);
|
procedure CbShowGridLinesClick(Sender: TObject);
|
||||||
procedure CbBackgroundColorGetColors(Sender: TCustomColorBox; Items: TStrings);
|
procedure CbBackgroundColorGetColors(Sender: TCustomColorBox; Items: TStrings);
|
||||||
procedure EdCellAddressEditingDone(Sender: TObject);
|
procedure EdCellAddressEditingDone(Sender: TObject);
|
||||||
|
procedure EdFormulaEditingDone(Sender: TObject);
|
||||||
procedure EdFrozenColsChange(Sender: TObject);
|
procedure EdFrozenColsChange(Sender: TObject);
|
||||||
procedure EdFrozenRowsChange(Sender: TObject);
|
procedure EdFrozenRowsChange(Sender: TObject);
|
||||||
procedure FontComboBoxSelect(Sender: TObject);
|
procedure FontComboBoxSelect(Sender: TObject);
|
||||||
@ -662,6 +663,15 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.EdFormulaEditingDone(Sender: TObject);
|
||||||
|
var
|
||||||
|
r, c: Cardinal;
|
||||||
|
begin
|
||||||
|
r := WorksheetGrid.GetWorksheetRow(WorksheetGrid.Row);
|
||||||
|
c := WorksheetGrid.GetWorksheetCol(WorksheetGrid.Col);
|
||||||
|
WorksheetGrid.Worksheet.WriteCellValueAsString(r, c, EdFormula.Text);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TForm1.EdFrozenColsChange(Sender: TObject);
|
procedure TForm1.EdFrozenColsChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
WorksheetGrid.FrozenCols := EdFrozenCols.Value;
|
WorksheetGrid.FrozenCols := EdFrozenCols.Value;
|
||||||
@ -808,7 +818,19 @@ begin
|
|||||||
if s <> '' then
|
if s <> '' then
|
||||||
EdFormula.Text := s
|
EdFormula.Text := s
|
||||||
else
|
else
|
||||||
EdFormula.Text := WorksheetGrid.Worksheet.ReadAsUTF8Text(cell);
|
case cell^.ContentType of
|
||||||
|
cctNumber:
|
||||||
|
EdFormula.Text := FloatToStr(cell^.NumberValue);
|
||||||
|
cctDateTime:
|
||||||
|
if cell^.DateTimeValue < 1.0 then
|
||||||
|
EdFormula.Text := FormatDateTime('tt', cell^.DateTimeValue)
|
||||||
|
else
|
||||||
|
EdFormula.Text := FormatDateTime('c', cell^.DateTimeValue);
|
||||||
|
cctUTF8String:
|
||||||
|
EdFormula.Text := cell^.UTF8StringValue;
|
||||||
|
else
|
||||||
|
EdFormula.Text := WorksheetGrid.Worksheet.ReadAsUTF8Text(cell);
|
||||||
|
end;
|
||||||
end else
|
end else
|
||||||
EdFormula.Text := '';
|
EdFormula.Text := '';
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user