Hallo Delphi.Narium
zu deinen Fragen:
mit
Delphi-Quellcode:
if TStringCellEditor(MyGrid.Editor).SelLength > 0 then
TStringCellEditor(MyGrid.Editor).SelText:= '';
Unterbinde ich das einfügen meine ich mich zu erinnern-
ansonsten hat HolgerX ja schon recht gut kommentiert.
'-' minus muss immer am Anfang stehen und darf nur einmal vorkommen
',' das Dezimaltrennzeichen darf nur einmal vorkommen
und ansonsten nur ziffer-eingabe erlauben ( das könnte ich mir schenken, weil das schafFt das TDB grid schon alleine...)
(das Komma an erster Stelle oder hinter minus würde ich sogar erlauben, das funktioniert, wird als Float erkannt)
Der Decimalseparator stimmt. wie gesagt, auch mit ',' oder #44 geht es nicht bzw. multiple eingaben möglich
Der Fehler scheint hier zu liegen:
CellText:= (MyGrid).Cells[cellCol,cellRow];
Der momentane Inhalt wird nicht ausgelesen.
mit
CellText:= (Sender as TDBGrid).SelectedColumn.Field.AsString;
wird er zwar ausgelesen, klappt aber auch nicht, wie gewünscht
Gruß, Oliver