2012-02-14 48 views
8

Tôi đang sử dụng loại 'số' để nhập số dấu phẩy động vào lưới jqGrid. Tôi có thể định dạng các phao để hiển thị bằng dấu phẩy (chúng tôi sử dụng dấu phẩy ở Châu Âu làm seperator thập phân). Tuy nhiên các trường nhập (chỉnh sửa biểu mẫu hoặc nội tuyến) vẫn giả định rằng đã nhập số dấu phẩy động sử dụng dấu chấm chứ không phải dấu phẩy.jqGrid: Định dạng số với dấu phẩy là dấu thập phân

formatoptions: {decimalSeperator : ','} 

dường như làm tăng hiển thị nhưng không xác thực dữ liệu đầu vào.

Bất kỳ tùy chọn hợp lý nào ở đây?

Trả lời

7

Bạn có thể tạo biểu mẫu tùy chỉnh của riêng mình.

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

Hướng dẫn giải thích rõ. Bạn phải tạo một formmater và một unformmater để chỉnh sửa.

Tạo một chức năng định dạng như thế này:

<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> 

Bạn cũng có thể thêm $ hoặc định dạng khác trong các chức năng này.

+0

Nota Bene: Công cụ chuyển đổi bộ tách là một không gian cho các châu lục khi sử dụng saxophone anglo "," – nicolallias

+0

Điều đó sẽ không trả lời được câu hỏi của chủ sở hữu câu hỏi. – Jpepper

+1

Đó là lý do tại sao nó là một bình luận; nếu bạn giữ dấu phân tách tiếng Anh nghìn, bạn sẽ nhận được vô nghĩa đối với bất kỳ ký hiệu số nào, ví dụ: 12,345,678,9 -> 12,345,678,9 thay vì đúng (và chủ sở hữu được yêu cầu) 12345678,9 – nicolallias

Các vấn đề liên quan