Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有远程JSON存储的ExtJS分页组合。通过分页显示所选值_Extjs_Combobox_Paging_Jsonstore - Fatal编程技术网

带有远程JSON存储的ExtJS分页组合。通过分页显示所选值

带有远程JSON存储的ExtJS分页组合。通过分页显示所选值,extjs,combobox,paging,jsonstore,Extjs,Combobox,Paging,Jsonstore,我有一个带有远程存储的ExtJS组合,它以JSON格式返回给我数据。例如,当我在第一个页面上选择一个值,然后导航到另一个页面时,组合框将显示选定的id,而不是该值 如何始终显示选定的值 代码: 例如: 更多信息(案例研究): 我有一张表格可以更新记录。我单击一个项目,然后我的服务器从数据库返回值。然后出现一个带有UI的窗口。对于所有分页组合,它只返回id。所以,除非我导航到带有返回id的项的页面,否则我看不到值。如果禁用分页并加载所有值,所有值都会按预期工作,但加载数千个值并不好。我更改了逻辑。

我有一个带有远程存储的ExtJS组合,它以JSON格式返回给我数据。例如,当我在第一个页面上选择一个值,然后导航到另一个页面时,组合框将显示选定的id,而不是该值

如何始终显示选定的值

代码:

例如:

更多信息(案例研究):

我有一张表格可以更新记录。我单击一个项目,然后我的服务器从数据库返回值。然后出现一个带有UI的窗口。对于所有分页组合,它只返回id。所以,除非我导航到带有返回id的项的页面,否则我看不到值。如果禁用分页并加载所有值,所有值都会按预期工作,但加载数千个值并不好。

我更改了逻辑。另外发送一个combobox值的Id,然后使用该Id设置extraProxyParams并加载存储。然后清洁extraProxyParams。因此,在用户搜索另一个值后,他可以这样做。

我更改了逻辑。另外发送一个combobox值的Id,然后使用该Id设置extraProxyParams并加载存储。然后清洁extraProxyParams。因此,在用户搜索另一个值后,他可以这样做。

可以通过以下方式进行修复:

Ext.override(Ext.form.field.ComboBox,{
    findRecord: function(field, value) {
        var foundRec = null;
        Ext.each(this.lastSelection, function(rec) {
            if (rec.get(field) === value) {
                foundRec = rec;
                return false; // stop 'each' loop
            }
        });
        if (foundRec) {
            return foundRec;
        } else {
            return this.callParent(arguments);
        }
    }
});

试试看:

可以通过以下方式进行修复:

Ext.override(Ext.form.field.ComboBox,{
    findRecord: function(field, value) {
        var foundRec = null;
        Ext.each(this.lastSelection, function(rec) {
            if (rec.get(field) === value) {
                foundRec = rec;
                return false; // stop 'each' loop
            }
        });
        if (foundRec) {
            return foundRec;
        } else {
            return this.callParent(arguments);
        }
    }
});
试一试: