Как сделать так, чтобы в настраиваемом поле отображалось более 2 десятичных знаков - PullRequest
0 голосов
/ 27 марта 2019

У меня есть настраиваемое поле, и я не могу позволить вам редактировать или отображать более 2 знаков после запятой. Я подтвердил, что БД хранит 6 (и обновил БД напрямую, чтобы они были), но он только отображает и позволяет редактировать в 2 местах.

Атрибуты поля выглядят так:

[PXDBDecimal(4)]
[PXUIField(DisplayName="LbsPerInch")]
[PXDefault(TypeCode.Decimal, "0.0000")]

В форме у меня установлен формат отображения 0,0000, но он по-прежнему показывает только 2 десятичных знака и затем нули (например: значение БД составляет 0,2225, отображает 0,2200), и когда я нажимаю, чтобы изменить его, я получаю только 2 десятичных знака .

Заранее спасибо.

1 Ответ

2 голосов
/ 28 марта 2019

Ваша настройка для поля в ЦАП выглядит правильно. Что у тебя за запись на странице?

Я собрал быстрый пример, показывающий 4 поля с разной десятичной точностью.

DAC

[PXDBDecimal]
[PXUIField(DisplayName = "D1 ()")]
[PXDefault(TypeCode.Decimal, "0")]
public virtual Decimal? TestDecimal1 { get; set; }

[PXDBDecimal(2)]
[PXUIField(DisplayName = "D2 (2)")]
[PXDefault(TypeCode.Decimal, "0")]
public virtual Decimal? TestDecimal2 { get; set; }

[PXDBDecimal(4)]
[PXUIField(DisplayName = "D3 (4)")]
[PXDefault(TypeCode.Decimal, "0")]
public virtual Decimal? TestDecimal3 { get; set; }

[PXDBDecimal(6)]
[PXUIField(DisplayName = "D4 (6)")]
[PXDefault(TypeCode.Decimal, "0")]
public virtual Decimal? TestDecimal4 { get; set; }

Page :

<px:PXNumberEdit ID="edD1" runat="server" DataField="TestDecimal1" />
<px:PXNumberEdit ID="edD2" runat="server" DataField="TestDecimal2" />
<px:PXNumberEdit ID="edD3" runat="server" DataField="TestDecimal3" />
<px:PXNumberEdit ID="edD4" runat="server" DataField="TestDecimal4" />

Результат

enter image description here

База данных

Я использовал DECIMAL (25, 6) или DECIMAL (19, 4) и те же результаты для поля с десятичной точностью.

enter image description here

...