2010-08-31 3 views
0

Как отобразить десятичное значение в gridview. Скажем, если пользователь вводит значение 0,5, он вставлен в БД равным 0,5, но, повторяя его обратно на переднем конце, он отображается как 0.50.десятичные значения в gridview

Как избежать этого сценария.

А также пользователь должен иметь возможность ввести 5 мест после десятичной точки. Как 0.12345 приемлемо и 0.123456 неприемлемо.

Как ограничить это ..

Plz помочь

ответ

0

Нанести на стороне клиента JavaScript для форматирования значения до требуемого масштаба и точности.

0

Вы можете сделать строку форматирования внутри Eval заявления с использованием String.Format -Style правила, когда вы привязки данных:

<asp:TemplateField HeaderText="Decimal"> 
    <ItemTemplate> 
     <asp:Label ID="Label1" Text='<%# Eval("DecimalValue", "{0:0.#####}") %>' runat="server" />&nbsp; 
    </ItemTemplate> 
</asp:TemplateField> 

Эта метка будет иметь до пяти знаков после запятой, так что вы увидите 0.1 , 0,01, 0,001 и т.д., но не 0,1000. См. Custom numeric format strings.

Для ввода данных, я бы, вероятно, использовать AjaxControlToolkit положить маску на TextBox:

<asp:TemplateField HeaderText="Decimal"> 
    <ItemTemplate> 
     <asp:Label ID="Label1" Text='<%# Eval("DecimalValue", "{0:0.#####}") %>' runat="server" />&nbsp; 
    </ItemTemplate> 
    <EditItemTemplate> 
     <asp:TextBox runat="server" ID="TextBox1" Text='<%# Bind("DecimalValue", "0.#####") %>' />&nbsp; 
     <ajaxtoolkit:MaskedEditExtender runat="server" TargetControlID="TextBox1" MaskType="Number" Mask="99999.99999" /> 
    </EditItemTemplate> 
</asp:TemplateField> 

в маске редактирования расширитель прилагается в текстовое поле будет принимать только цифры (MaskType="Number"), заполняет пустую маску символы с нулями (также из типа маски) и будут принимать до шести цифр с каждой стороны от десятичной точки (Mask="999999.99999).

+0

Текст = '<% #Eval ("Threshold_Min", "{0: 0. #####}")%>' Не могли бы вы подробно объяснить мне, что текстовое поле должно принимать значения между 0 и 999999. Значения могут составлять от 0,00000 до 999999.99999. Пожалуйста, помогите –

Смежные вопросы