总计ExtJS可编辑网格的输入字段

时间:2014-12-05 22:03:08

标签: javascript extjs extjs3

这个问题涉及ExtJS 3可编辑网格。我需要总计可编辑网格的一列的输入字段。有the store's sum method但有时输入字段中的数据不一定在商店中;例如,您可以在输入字段中创建一个条目,然后单击工具栏上的按钮。

在这种情况下,“传统”方式似乎是设置适当的侦听器并将输入字段的内容提交到商店,但如果单击工具栏按钮,这可能会变得错综复杂并且似乎完全没必要无论如何,你最终会被重新定向到其他地方。还有其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

另一种方法是使用经常忽略的Ext.query功能收集所有输入字段;以下为网格的第二列执行此操作('。x-grid-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;
}

答案 1 :(得分: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;
}
相关问题