• EXTJS4两个ComboBox的数据源联动,解决遇到第二个ComboBox第二次以后显示忙的状态问题


    定义如下【红色部分是后加上的,它是解决问题的关键】:

    var bu_store = Ext.create('Ext.data.Store', {
    fields: ['key', 'value'],
    remoteSort: true, //是否在服务端排序
    proxy: {
    type: 'ajax', //异步获取数据,这里的URL可以改为任何动态页面,只要返回JSON数据即可
    url: 'soc/GetBU',
    reader: {
    root: 'items'
    },

    simpleSortMode: true
    }
    });
    var evt_bu = new Ext.form.ComboBox({
    id: 'evt_bu',
    fieldLabel: 'BU',
    240,
    store: bu_store,
    displayField: 'value',
    valueField: 'key',
    triggerAction: 'all',
    emptyText: '请选择...',
    allowBlank: false,
    blankText: '请选择BU',
    editable: false,
    mode: 'local', //该属性和以下方法为了兼容ie8
    listeners: {
    'render': function () {
    bu_store.load();
    }
    }
    });

    var pdl_store = Ext.create('Ext.data.Store', {
    fields: ['key', 'value'],
    remoteSort: true, //是否在服务端排序
    autoLoad: false,
    proxy: {
    type: 'ajax', //异步获取数据,这里的URL可以改为任何动态页面,只要返回JSON数据即可
    url: 'soc/GetPDL',
    reader: {
    root: 'items'
    },

    simpleSortMode: true
    }
    });

    pdl_store.on("beforeload", function () {
    Ext.apply(pdl_store.proxy.extraParams, {'bu': evt_bu.getValue()});
    });

    var evt_pdl = new Ext.form.ComboBox({
    fieldLabel: '      产品线',
    240,
    store: pdl_store,
    listConfig: {loadMask: false}, 
    displayField: 'value',
    valueField: 'key',
    triggerAction: 'all',
    emptyText: '请选择...',
    allowBlank: false,
    blankText: '请选择产品线',
    editable: false
    });

    //联动的实现
    evt_bu.on('select', function () {
    evt_pdl.clearValue();
    try{
    pdl_store.load();
    }
    catch(ex){
    Ext.MessageBox.alert("错误","数据加载失败。");
    }
    });

  • 相关阅读:
    Github基础(一)
    python3中编码和解码
    sql面试题(一)
    sql查询(三)--having子句求众数、中位数
    sql查询
    numpy中ndarray数据结构简介
    qt信号和槽
    logtag查看log
    AT45DB161D 概述
    C中的auto、static、register、extern、const和volitate
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3146942.html
Copyright © 2020-2023  润新知