Предельные десятичные знаки в DBGrid

У меня есть DBGrid, который подключен к ClientDataSet, и у него есть поле UnitCost. Я хочу ограничить до 2 десятичных знаков каждое значение, которое будет присвоено этому полю. Есть ли более простой способ сделать это, кроме проверки каждого входного значения?

3 ответа

Решение

Вы можете попробовать установить ClientDataset.FieldByName('UnitCost').EditMask := '#.00';

Я обычно использую:

TFloatField(Myds.FieldByName('MyField')).DisplayFormat := '#.##';

Это должно работать с каждым типом TDataset

procedure TFMasterReport.DBDetail**DrawColumnCell**(Sender: TObject;
   const Rect: TRect; DataCol: Integer; Column: TColumn;
   State: TGridDrawState);
begin
    TFloatField(Tempdtl.FieldByName('TS_Rate')).DisplayFormat := '0.000';
    TFloatField(Tempdtl.FieldByName('TS_Tvol')).DisplayFormat := '0.00';
    TFloatField(Tempdtl.FieldByName('TS_permit')).DisplayFormat := '0.00';
    TFloatField(Tempdtl.FieldByName('TS_tax')).DisplayFormat := '0.00';
    TFloatField(Tempdtl.FieldByName('TS_nettval')).DisplayFormat := '0.00';
end;
Другие вопросы по тегам