2010-03-25 36 views
3

我期待訪問從服務器返回的實際值。 getRowData返回應用於該值的未格式化後的值。這會導致信息丟失。例如,如果double值四捨五入到小數點後兩位,並且如果我想使用從服務器返回的具有六位小數的原始值填充表單進行編輯,那麼如何獲得返回的值。從服務器返回的訪問數據

爲如:

值從服務器返回:12.345678

格式化選項欄:formatter: 'number', formatoptions: {thousandsSeparator: ",", decimalPlaces: 2}

值顯示在網格:12.35

如何檢索返回12.345678值服務器。 getRowData回報12.35

我正在使用從服務器返回的json數據。使用螢火蟲我已確認服務器返回所有6位小數位。它僅在從選定行中檢索小數位被截斷時的值時纔有效。

回答

1

您可以使用unformat來獲取原始值,例如getRowData等方法。在jqGrid wiki的Custom Formatter部分有更多信息。特別是它們包括下面的例子:

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

function currencyFmatter (cellvalue, options, rowObject) 
{ 
    // do something here 
    return new_format_value 
} 
</script> 

因此,在您unformatter你應該能夠只取原始值(超過2位小數),並將其返回。

+0

'unformat'仍然不會返回原始數據,特別是對於分數。目前看來這似乎不可能,所以我採取了從服務器上提取必要信息的方式。我還在支持論壇中發佈了一項功能請求。 – 2010-03-30 14:25:46