1

我正在可编辑的网格中使用 extjs 4 创建一个组合框(我使用 extjs 4)并且我使用外部 ajax 调用来填充它而不是使用 extjs 代理,原因是我使用相同的调用来加载其他组合盒子。所以我想为什么不使用相同的功能。下面是 store、model、dropdown 和 ajax 调用的代码:

var drpdwnitems = "";

Ext.define('rStatusRecord', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'code', type: 'string' },
        { name: 'value', type: 'string' }
    ]
});

var dsStatus = Ext.create('Ext.data.Store', { model: 'rStatusRecord', data: [] });

var timeSelectField_1 = {
     xtype: 'combobox',
     typeAhead: true,
     displayField: 'code',
     valueField: 'value',
     store: dsStatus,
     triggerAction: 'all'

};

该字段基本上用于网格面板的列中用于编辑目的。AJax 调用基本上是返回一个字符串。

$.ajax({
    type: "GET",
    url: "XHR/Task_TypesCalls.aspx?TL_A=1", 
    error: function() { alert('Error loading document'); },
    success: loadAvailableTasksList
});

function loadAvailableTasksList(contents, status) {
     drpdwnitems = contents.split("!");
     if (status != "success") return;

     var drpdwnitemsind;

     dsStatus.removeAll();
     for (i = 0; i < drpdwnitems.length; i++) {
        drpdwnitemsind = drpdwnitems[i].split(":");
        statusRecord = Ext.create('rStatusRecord', {
          code: drpdwnitemsind[0], //"",
          value: drpdwnitemsind[0]//""
        });

        dsStatus.add(statusRecord);
      } //end of loop
}

现在当我编辑该字段并打开组合框时,出现错误

TypeError: url is undefined
这个错误在文件 ext-all-debug.js

我的猜测是商店的 url 配置是必要的,我没有提供它. 或者我在这里做错了什么?

4

1 回答 1

2

请参阅:http ://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.ComboBox-cfg-queryMode

您想将其设置为本地。

于 2012-09-10T12:39:31.380 回答