Added: JDBLabeledIntegerEdit support for null values

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2845 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
jujibo
2013-11-22 09:23:34 +00:00
parent 2172ae9c6e
commit 63f2b8fae4

View File

@@ -34,6 +34,7 @@ type
private private
fFormat: string; fFormat: string;
FDataLink: TFieldDataLink; FDataLink: TFieldDataLink;
fNull: boolean;
procedure DataChange(Sender: TObject); procedure DataChange(Sender: TObject);
procedure UpdateData(Sender: TObject); procedure UpdateData(Sender: TObject);
@@ -76,6 +77,7 @@ type
property DataField: string read GetDataField write SetDataField; property DataField: string read GetDataField write SetDataField;
property DataSource: TDataSource read GetDataSource write SetDataSource; property DataSource: TDataSource read GetDataSource write SetDataSource;
property ReadOnly: boolean read GetReadOnly write SetReadOnly default False; property ReadOnly: boolean read GetReadOnly write SetReadOnly default False;
property AllowNull: boolean read fNull write fNull default False;
property Action; property Action;
property Align; property Align;
@@ -158,6 +160,9 @@ procedure TJDBLabeledIntegerEdit.UpdateData(Sender: TObject);
begin begin
if FDataLink.Field <> nil then if FDataLink.Field <> nil then
begin begin
if fNull and (Length(Caption) = 0) then
FDataLink.Field.Value := Null
else
if IsValidInteger(Caption) then if IsValidInteger(Caption) then
begin begin
FDataLink.Field.Text := Text; FDataLink.Field.Text := Text;
@@ -218,6 +223,9 @@ procedure TJDBLabeledIntegerEdit.formatInput;
begin begin
if FDataLink.Field <> nil then if FDataLink.Field <> nil then
//FDataLink.Field.DisplayText -> formatted (tdbgridcolumns/persistent field DisplayFormat //FDataLink.Field.DisplayText -> formatted (tdbgridcolumns/persistent field DisplayFormat
if FDataLink.Field.IsNull then
Caption := ''
else
if fFormat <> '' then if fFormat <> '' then
Caption := FormatFloat(fFormat, FDataLink.Field.AsInteger) Caption := FormatFloat(fFormat, FDataLink.Field.AsInteger)
else else