2012-02-14 2 views
8

Я использую тип 'number' для ввода чисел с плавающей запятой в сетку jqGrid. Я могу отформатировать поплавки для рендеринга с запятой (мы используем запятую в Европе как десятичный разделитель). Однако поля ввода (форма редактирования или встроенные) все же предполагают, что , в которые введенные числа с плавающей запятой используют точку, а не запятую.jqGrid: формат номера с запятой в виде десятичной точки

formatoptions: {decimalSeperator : ','} 

, как представляется, приводит к получению рендеринга, но не к проверке входных данных.

Возможные варианты здесь?

ответ

7

Вы можете создавать свои собственные форматы.

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter

Руководство объясняет это хорошо. Вы должны создать formmater и unformmater для редактирования.

Создание функции форматирования, как это:

<script> 
    jQuery("#grid_id").jqGrid({ 
    ... 
     colModel: [ 
      ... 
      {name:'price', index:'price', width:60, align:"center", editable: true, formatter:numFormat, unformat:numUnformat}, 
      ... 
     ] 
    ... 
    }); 

    function numFormat(cellvalue, options, rowObject){ 
     return cellvalue.replace(".",","); 
    } 

    function numUnformat(cellvalue, options, rowObject){ 
     return cellvalue.replace(",","."); 
    } 
</script> 

Вы также можете добавить $ или другое форматирование в этих функциях.

+0

Nota Bene: Thousand separator converter - это пространство для континентов при использовании англо-саксонских шрифтов, « – nicolallias

+0

Это не ответит на вопрос, заданный владельцем вопроса. – Jpepper

+1

Вот почему это комментарий; если вы сохраните разделитель английской тысячи, вы получите вздор за любую цифровую нотацию, , например. 12,345,678.9 -> 12,345,678,9 вместо правильного (и запрошенного владельца) 12345678,9 – nicolallias

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