2014-12-05 85 views
0

這個問題關於ExtJS 3可編輯網格。我需要總計可編輯網格的一列的輸入字段。有the store's sum method但有時輸入字段中的數據不一定在商店中;例如,您可能會在輸入字段中輸入一個條目,然後單擊工具欄上的一個按鈕。總計一個ExtJS可編輯網格的輸入字段

在這種情況下,「傳統」方式似乎是設置合適的偵聽器並將輸入字段的內容提交到存儲區,但如果點擊工具欄,結果可能會變得複雜且似乎沒有必要按鈕,您最終將無論如何都會被重新定向到其他地方。還有其他解決方案嗎?

+0

您正在使用行編輯器插件? – 2014-12-05 22:53:54

+0

不,我沒有使用行編輯器插件,我支持(舊)ExtJS 3可編輯網格。 ExtJS 3中沒有findPlugin()方法 – 2014-12-06 12:54:39

回答

0

另一種方法是使用經常忽略的Ext.query功能收集所有輸入字段;下面執行此一格的第二列(」 .X柵-COL-0' 將是第一列):

var qtyFields = Ext.query('.x-grid3-col-1 input', myGrid.getView().mainBody.dom); 
var total = 0; 
var qty; 

for (var i=0, n=qtyFields.length; i<n; i++) { 
    qty = parseFloat(qtyFields[i].value); 
    total += isNaN(qty) ? 0 : qty; 
} 
0

不在HTML依靠知道的類名的替代方案是從編輯插件獲取信息。

var fields = grid.findPlugin('rowediting').editor.form.getFields(); 
var total = 0; 

for (var i=0, n=fields.getCount(); i<n; i++) { 
    var qty = parseFloat(fields.getAt(i).getValue()); 
    total += isNaN(qty) ? 0 : qty; 
} 
+0

這隻適用於ExtJS 4 – 2014-12-06 12:58:59

相關問題