store参数的传递



现在我已经把tbar加到window上了,

window主要代码如下:

tbar:['-',text_search,'-',btn_search],
items :[add_form]

 ------------------------------------------------------------

var text_search= new Ext.form.TextField({
                name : 'textsearch',
                width : 200,
                emptyText : '请输入客户编号或名称!',
                listeners : {
                        'specialkey' : function(field, e) {
                            if (e.getKey() == Ext.EventObject.ENTER) {
                                        search();
                             }
                      }
                 }
 });

var search = function() {
    var conditional = text_search.getValue();
    taskCustomerStore.load({
            params : {
                 conditional : conditional      
            }
    });
};

var btn_search= new Ext.Button({
    text : '查询',
    iconCls : 'icon-search',
    handler : search
});

---------------------------------------------------

var taskCustomerStore = new Ext.data.Store({
                    url : 'xxxx.action',
                    reader : new Ext.data.JsonReader({
                        root : 'root'
                    }, [{
                        name : 'CUSTOMERID',
                        type : 'string'
                    }, {
                        name : 'CUSTOMERNAME',
                        type : 'string'
                    }])
           });

-------------------------------------------------------

add_form上的多选下拉控件,我想用文本输入框模糊查询的结果集来做这里面的store,

但是在后台取数据的时候,点击查询能得到文本框输入的内容conditional,但是在单击

下拉列表框的时候后台的conditional为空,我想问的是怎么把查询的结果集

(包含模糊查询的conditional)作为新的store,即store是随时更新的

xtype : 'multicombo',
   width : 150,
   store : taskCustomerStore,
   fieldLabel : '包含客户',
   // valueField : 'CUSTOMERID',
   // displayField : 'CUSTOMERNAME',
   valueField : 'BRANCH_ID',
   displayField : 'BRANCH_NAME',
   allowBlank : false,
   editable : true,
   labelSeparator : ':',
   displaySeparator : ';',
   valueSeparator : ',',
   hiddenName : 'multicomboMapCust',
   mode : 'remote',
   triggerAction : 'all',
   allowBlank : true,
   loadingText : '加载中...',
   emptyText : '请选择',
   listeners : {
    'select' : function(multicombo, record, index) {
     multicomboMapCust = Ext.get('multicomboMapCust').getValue();
    }
   }
  }


问题补充:
tbar的文本框输入的内容作为查询条件,单击查询按钮之后执行查询和store的更新,使多选下拉框的store是查询出来的结果
问题补充:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一共就有一个store,这个store是下拉框的store

我想用文本框输入的内容作为查询条件,点击查询后,会查询出来一个结果集,查询按钮执行的是store的load方法,我想把这个结果集作为新的store
问题补充:
qq911110
现在问题不出在search方法上
现在的问题是怎么把查询按钮的结果作为新的store
或者说是把文本框输入的内容传递给form里面下拉框的stor
问题补充:
调用reload了,可是在form里面还是取不到文本框输入的值
问题补充:
在window、的tbar上查询按钮单击的时候能取到值,但是在form里面的下拉俩表中取不到
问题补充:
我要把查询的结果展示在 包含客户的下拉列表里面


可是下拉列表里面是空的
问题补充:


现在的情况:

Connection - {conn-100019} Connection
Connection - {conn-100019} Preparing Statement: SELECT * FROM TB_CUSTOMER_INFO where CUSTOMERNAME LIKE '%' || ? || '%'

PreparedStatement - {pstm-100020} Executing Statement: SELECT * FROM TB_CUSTOMER_INFO where CUSTOMERNAME LIKE '%' || ? || '%'

PreparedStatement - {pstm-100020} Parameters: [周村李]
PreparedStatement - {pstm-100020} Types: [java.lang.String]
ResultSet - {rset-100021} ResultSet
ResultSet - {rset-100021} Header: [CUSTOMERID, CUSTOMERNAME, SHORT_CODE, CUSTOMERADD, CUSTOMERTEL, CUSTOMEROPERATOR, CUSTOMERTYPE, MANAGER_ID, CUSTOMERREGION, STATUS, BRANCH_ID, MARKET_ID, HIGH_BRANCH_ID]
ResultSet - {rset-100021} Result: [1037030200624, 周村李娟商店, 1037030200624, 周村区萌水镇东李村, 13573341904, 李娟, 01024, 103703020003, 周村淄川大车04上午, 02, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030200367, 周村李继德商店, 1037030200367, 周村区东门路87号, h13678634711, 李继德, 0501101, 103703020001, 周村淄川大车01上午, 02, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030201076, 周村李执学百货店, 1037030201076, 周村区萌水镇官三村41号, 13455325428, 李执学, 01023, 103703020003, 周村淄川大车05上午, 02, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030200682, 周村李贤珍商店, 1037030200682, 周村区辛街8号楼前, 2615673, 李贤珍, 0101101, 103703020001, 周村淄川大车09上午, 02, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030201380, 周村李纪云百货店, 1037030201380, 周村区周隆路莫家庄16号, 6820444, 李纪云, 01023, 103703020001, 周村淄川大车02上午, 02, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030201844, 周村李彬商店, 1037030201844, 萌水镇西衣村116号, 13864354663, 李彬, 01024, 103703020003, 周村淄川大车10上午, 02, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030201176, 周村李家村英保综合商店, 1037030201176, 周村区南郊镇李家村, 15315231751, 侯英保, 01023, null, null, 03, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030201701, 周村李庄代销店, 1037030201701, 萌水镇三衣大街中段, 6885026, 李庄, 01023, 103703020003, 周村淄川大车10上午, 02, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030201935, 周村李卫百货店, 1037030201935, 周村青年路办事处东马村1-74号, 13953374622, 李卫, 0102301, 103703010008, 周村淄川大车05上午, 02, 03020100, null, null]
ResultSet - {rset-100021} Result: [1037030201856, 周村李蒙百货店, 1037030201856, 周村南郊镇张楼村7号, 13884629332, 韩美, 01023, 103703020003, 周村淄川大车05上午, 02, 03020100, null, null]
I18nInterceptor - after Locale=zh_CN
I18nInterceptor - intercept }

这是我在点多选下拉列表的时候后台输出的值,可是在前台下拉列表里面没有数据

问题补充:
我按照你说的,检查了 后台输出没错吧,前台的store里面也指定了josn格式
配置也没错

8个回答

搞这么久我才明白

检查下是否已经查询到数据,先排除后台原因.

然后你检查是否生成了json格式,格式是否正确

然后检查前台组件配置代码是否正确

你放到store下有个baseParams,这个是用来传递参数的

没明白题意,是不是在查询的时候想把下拉框的value作为查询条件?

[quote]单击查询按钮之后执行查询和store的更新,使多选下拉框的store是查询出来的结果[/quote]

你这里提到的两个store是不是指的就是下拉配置中的store?

你用这个代码试试
var search = function() {
var conditional = text_search.getValue();
taskCustomerStore.baseParams['conditional'] = conditional;
taskCustomerStore.load();
};

[quote]一共就有一个store,这个store是下拉框的store

我想用文本框输入的内容作为查询条件,点击查询后,会查询出来一个结果集,查询按钮执行的是store的load方法,我想把这个结果集作为新的store [/quote]

不能叫什么新的store,这样会让人误解的,其实始终就一个,你只是想通过文本框的条件到后台查询数据更新下拉的value而已

[code="js"]{
text:'查询',
handler:function(){
var condition = 文本款.getValue();
store.reload({
params:{
'condition':condition
}
});
}
}[/code]

[quote]调用reload了,可是在form里面还是取不到文本框输入的值 [/quote]

var condition = 文本款.getValue(); //取不到?

不是取不到查询框的value,而是取不到包含客户的value?

你不是要把查询的结果展示在 包含客户的下拉列表里面吗?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问