ExtJS-Ext.ComponentQuery.query()

用来找特点的所有容器(Ext.container.Container)或是通过Ext.ComponentManager找特定的所有组件
1.当找组件的时候,相当于调用Ext.ComponentQuery.query()
可以接收的参数有

1)xtype

//找xypte为panel的所有组件
var panelsArray = Ext.ComponentQuery.query('panel');

2)组件的itemId或id的属性值

找所有id为myct的panel组件,注意空格表示与操作(&&)
var panelsWithinmyCt = Ext.ComponentQuery.query('#myCt panel');
注:>表示直接,豆表示或操作
//表示id为myct的直接子元素中panel的组件
var directChildPanel = Ext.ComponentQuery.query('#myCt > panel');
//表示gridpanel与treepanel组件
var gridsAndTrees = Ext.ComponentQuery.query('gridpanel, treepanel');

3)根据属性查找

//表示如果组件有autoScroll属性,那么它就被先中了
var panelsWithinmyCt = Ext.ComponentQuery.query('component[autoScroll]');
var panelsWithinmyCt = Ext.ComponentQuery.query('panel[title="Test"]');
panel[title="Test"]

4)根据组件的一些表达式式的属性,如果表达式的返回值为true,那么对应的组件就被先中

//如果组件的调用isDisabled()为true的话,那么此组件就被选中
var disabledFields = myFormPanel.query("{isDisabled()}");

5)伪类选择器(Pseudo classes)

默认包含的有not,last,
//表示在document中找最后的panel组件
var panelsArray = Ext.ComponentQuery.query('panel:last');
//自定义的
Ext.ComponentQuery.pseudos.invalid = function(items) {
    var i = 0, l = items.length, c, result = [];
    for (; i < l; i++) {
        if (!(c = items[i]).isValid()) {
            result.push(c);
        }
    }
    return result;
};
var invalidFields = myFormPanel.query('field:invalid');
if (invalidFields.length) {
    invalidFields[0].getEl().scrollIntoView(myFormPanel.body);
    for (var i = 0, l = invalidFields.length; i < l; i++) {
        invalidFields[i].getEl().frame("red");
    }
}


详解:{ region: 'center', split: true, itemId: 'grid', xtype: 'grid', store: me.editStore, overflowY: 'auto', overflowX: 'auto', selModel: Ext.create('Ext.selection.CheckboxModel'), plugins: [ Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1, listeners: { 'edit': function (editor, e) { switch (e.field) { case 'pdky': /* e.record.set('kyyk',e.record.get('pdky') - e.record.get('zmky')); if(e.originalValue != e.value){ e.record.set('ypbj',1); e.record.set('pdbj',1); }*/ var selects = me.down('#grid').getSelectionModel().getSelection(); Ext.each(selects, function (item) { item.set('kyyk',e.value - item.get('zmky')); if(item.get('pdky') != e.value){ item.set('ypbj', 1); item.set('pdbj', 1); } item.set('pdky',e.value); }); break; break; case 'fzkc': /* e.record.set('fzyk',Ext.util.Format.round(e.record.get('fzkc') - e.record.get('fzzmky'),3)); if(e.originalValue != e.value){ e.record.set('ypbj',1); e.record.set('pdbj',1); }*/ var selects = me.down('#grid').getSelectionModel().getSelection(); Ext.each(selects, function (item) { item.set('fzyk',e.value - item.get('fzzmky')); if(item.get('fzkc') != e.value){ item.set('ypbj', 1); item.set('pdbj', 1); } item.set('fzkc',e.value); }); break default: break } } } }) ], columns: [ {header: erp.i18n.bq_xh || '序号', xtype: 'rownumberer', width: 40, align: 'left'}, { header: erp.i18n.bq_ypbj || '已盘', dataIndex: 'ypbj', width: 40, align: 'center', renderer: erp.Util.Staterenderer }, { header: erp.i18n.bq_pdbj || '盈亏', dataIndex: 'pdbj', width: 40, align: 'center', renderer: erp.Util.Staterenderer }, { header: erp.i18n.bq_bppbj || '不匹配', dataIndex: 'bppbj', width: 55, align: 'center', renderer: erp.Util.Staterenderer }, {header: erp.i18n.bq_clhh || '材料货号', dataIndex: 'clhh', width: 80}, {header: erp.i18n.bq_clmc || '材料名称', dataIndex: 'clmc', width: 180}, {header: erp.i18n.bq_cltx1 || '规格尺寸', dataIndex: 'cltx1', width: 80}, {header: erp.i18n.bq_jldw || '单位', dataIndex: 'jldw', width: 80}, {header: erp.i18n.bq_hwbh || '货位编号', dataIndex: 'hwbh', width: 80}, { header: erp.i18n.bq_zmkc || '账面库存', dataIndex: 'zmkc', width: 80, align: 'right', renderer: function (v) { if (v == 0) return ' '; else return v; } }, { header: erp.i18n.bq_zmky || '账面可用', dataIndex: 'zmky', width: 80, align: 'right', renderer: function (v) { if (v == 0) return ' '; else return v; } }, { header: erp.i18n.bq_pdky || '盘点可用', dataIndex: 'pdky', width: 80, align: 'right', field: {xtype: 'numberfield' }, renderer: function (v) { if (v == 0) return ' '; else return v; } }, { header: erp.i18n.bq_kyyk || '可用盈亏', dataIndex: 'kyyk', width: 80, align: 'right', renderer: function (v) { if (v == 0) return ' '; else return v; } }, {header: erp.i18n.bq_fzdw || '辅助单位', dataIndex: 'fzdw', width: 80}, { header: erp.i18n.bq_fzzmky || '辅助账面可用', dataIndex: 'fzzmky', width: 100, align: 'right', renderer: function (v) { if (v == 0) return ' '; else return v; } }, { header: erp.i18n.bq_fzkc || '辅助可用库存', dataIndex: 'fzkc', width: 100, align: 'right', field: {xtype: 'numberfield' ,decimalPrecision :3}, renderer: function (v) { if (v == 0) return ' '; else return v; } }, { header: erp.i18n.bq_fzyk || '辅助盈亏', dataIndex: 'fzyk', width: 80, align: 'right', renderer: function (v) { if (v == 0) return ' '; else return v; } }, { header: erp.i18n.bq_zmfcp || '账面废次品', dataIndex: 'zmfcp', width: 80, align: 'right', renderer: function (v) { if (v == 0) return ' '; else return v; } }, { header: erp.i18n.bq_pdfcp || '盘点废次品', dataIndex: 'pdfcp', width: 80, align: 'right', renderer: function (v) { if (v == 0) return ' '; else return v; } }, { header: erp.i18n.bq_fcpyk || '废次品盈亏', dataIndex: 'fcpyk', width: 80, align: 'right', renderer: function (v) { if (v == 0) return ' '; else return v; } }, {header: erp.i18n.bq_bzsm || '备注说明', dataIndex: 'bzsm', width: 180,field: {}} ] }
最新发布
11-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值