procedure TBUDGETTOTALINFO.DataSetBudgetGetFieldText(DataSet: TDataSet; Field: TDataField; var Text: string; DisplayText: Boolean);
begin
if Field.FieldName= 'FBMaterialCharge' then
if variants.VarToStr(Field.Value) = '0' then
Text := ''
else
Text := Field.Text;
end;
完美版本:
procedure TBUDGETTOTALINFO.DataSetBudgetGetFieldText(DataSet: TDataSet; Field: TDataField; var Text: string; DisplayText: Boolean);
var
lBizField : TBizField;
begin
lBizField := (DataSet as TBizDataSet).BizFieldByName(Field.FieldName);
if (lBizField.DataType = TDataType.dtNumber) or (lBizField.DataType = TDataType.dtInteger) or (lBizField.DataType = TDataType.dtFloat) then
begin
if variants.VarToStr(Field.Value) = '0' then
Text := ''
else
Text := Field.Text;
end;
end;