当前位置: 代码迷 >> Web前端 >> ext combox级联事例
  详细解决方案

ext combox级联事例

热度:117   发布时间:2012-10-10 13:58:11.0
ext combox级联例子
 var ds_num = new Ext.data.Store({
    url : 'findAllFeedNum.action',
    reader : new Ext.data.JsonReader(
    {totalProperty : 'totalProperty',root : 'root'},
    [
        {name : 'material_name', type : 'string'},
        {name : 'material_desc', type : 'string'}
    ])
  });

  var ds_feed = new Ext.data.Store({
    url : 'findByFeedNum.action',
    reader : new Ext.data.JsonReader(
    {totalProperty : 'totalProperty',root : 'root'},
    [
        {name : 'material_name', type : 'string'},
        {name : 'material_desc', type : 'string'},
        {name : 'material_type', type : 'string'},
        {name : 'department', type : 'string'}
    ])
  });
 {
            xtype : 'fieldset',
            title : '物料添加',
            collapsible: true,
            width :375,
            items : [
            {
             width : 219,
             xtype : 'combo',
             fieldLabel : '料号',
             id : 'stock_feedNum',
             name : 'stock.feedNum',
             hiddenName : 'stock.feedNum',
             valueField : 'material_name',
             minChars : 1,
             typeAhead: true,
             forceSelection: true,
             displayField : 'material_name',
             mode : 'remote',
             queryParam : 'query',
             store : ds_num,
             selectOnFocus : true,
             editable : true,
             allowBlank : false,
             triggerAction : 'all',
             loadingText : '加载中...',
             emptyText : '料号',
             listeners : { // 获得下拉文本内容,解决id,value都要的情况
             'select' : function(combo, record, index) {
                    Ext.getCmp('stock_depict').reset();
                    Ext.getCmp('add_unit').reset();
                    ds_feed.baseParams.feedNum = Ext.getCmp('stock_feedNum').getValue();
                    ds_feed.reload();
                    getMatDescByMat(Ext.getCmp('stock_depict'),record.data.material_name);
                    this.ownerCt.ownerCt.form.findField('stock.feedNum').setValue(record.data.material_name);
                 }
               }
        },{
            width : 219,
            xtype : 'combo',
            fieldLabel : '描述',
            id : 'stock_depict',
            name : 'stock.depict',
            hiddenName : 'stock.depict',
            valueField : 'material_desc',
            typeAhead: true,
            forceSelection: true,
            displayField : 'material_desc',
            mode : 'remote',
            store : ds_feed,
            editable : true,
            allowBlank : false,
            triggerAction : 'all',
            loadingText : '加载中...',
            emptyText : '描述',
            listeners : { // 获得下拉文本内容,解决id,value都要的情况
            'select' : function(combo, record, index) {
                      this.ownerCt.ownerCt.form.findField('stock.depict').setValue(record.data.material_desc);
                },
            'beforequery' : function(queryEvent) {
             if (!Ext.getCmp('stock_feedNum').getValue()) {
                    queryEvent.cancel = true;
                    }
                 }
               }
        }

?