[英]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
它將返回一個空數組。
- 編輯行或單元格時不要使用此方法。 這將返回單元格內容,而不是輸入元素的實際值。
- 這種方法的性能成為一個問題。 不要在“ for”和“ when”的主體中使用此方法。 (調用此方法時,它將一次計算行數據。)
如果未設置
rowid
則該方法從數組中的網格返回所有數據
使用自定義formatter
選項格式化單元格內容后,需要一個選項來取消格式化數據。
問題是:如果我們使用自定義
formatter
函數並希望使用編輯或方法getRowData
和getCell
返回原始值,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.