簡體   English   中英

struts 2使用jqGrid在格式化前獲取行數據

[英]struts 2 use jqGrid to get row data before format

我想在加載jGrid數據后獲取它。

有些列具有格式化程序,但我想在格式化之前獲取其原始數據。

網格列為:

<sjg:gridColumn name="accountNo" formatter="linkBulider" />
<sjg:gridColumn name="amount" />

我用下面的js:

var allRowsInGrid = $('#gridtable').jqGrid('getRowData');
for (i = 0; i < allRowsInGrid.length; i++) {
   //For accountNo I get the formmated value 
   allRowsInGrid[i].accountNo;
   //The amount is ok as it is unformated
   allRowsInGrid[i].amount;
}

根據Wiki, getRowData不會從網格返回實際數據。

返回一個數組,其中包含請求的id = rowid 返回的數組的類型為name:value ,其中name是colModel的名稱以及該行中關聯列的值。 如果找不到rowid它將返回一個空數組。

  1. 編輯行或單元格時不要使用此方法。 這將返回單元格內容,而不是輸入元素的實際值。
  2. 這種方法的性能成為一個問題。 不要在“ for”和“ when”的主體中使用此方法。 (調用此方法時,它將一次計算行數據。)

如果未設置rowid則該方法從數組中的網格返回所有數據

使用自定義formatter選項格式化單元格內容后,需要一個選項來取消格式化數據。

問題是:如果我們使用自定義formatter函數並希望使用編輯或方法getRowDatagetCell返回原始值, getCell怎么getCell

答案是:您可以使用自己的自定義unformatter功能來執行此操作。 此函數可以在colModel

此時,您可以檢查是否可以將sjg:gridColumn設置為定義unformat功能的屬性。 不幸的是,根據TLD,您不能這樣做。

但是,可以在加載網格后對其進行修改。

$(document).ready(function(){
 $("#gridtable").jqGrid('setColProp', 'accountNo',{
    unformat: unformatFunc
  }).trigger("reloadGrid");
}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM