1

我已经使用 Extjs 完成了应用程序。我正在向用户显示网格记录,这里添加了 livesearch 的功能。通过在搜索字段中输入一些文本,可以根据属性名称和值很好地进行过滤。但问题是一旦我从搜索字段中删除文本,当搜索字段变为空/空白时,原始存储数据未填充到网格中。一旦搜索文本字段为空,如何将原始商店数据填充到网格中? 欣赏。

我的代码在这里: incode newValue是搜索文本字段值,我正在检查其他部分。如果newValue null 意味着需要加载原始存储,否则它将过滤存储并显示记录。我添加了以下代码以重新加载原始商店不起作用。

{
    xtype: 'textfield',
    name: 'searchField',
    hideLabel: true,
    width: 200,
    listeners: {
        change: {
            fn: this.onTextFieldChange,
            scope: this,
            buffer: 100
        }
    }
},

onTextFieldChange: function (field, newValue, oldValue, options) {
    if (newValue == '') {
        //grid.setStore(store);
        Ext.getCmp('grid').getStore().load();
        here grid is id of my Grid
        Ext.getCmp('grid').getView().refresh();
    } else {
        grid.store.load().filter([{
            id: 'name',
            property: "name",
            value: newValue,
            anyMatch: true
        }]);
    }
}
4

1 回答 1

1

我添加了grid.store.clearFilter(); 一旦搜索文本字段为空,清除过滤器。工作正常。干杯:)

于 2013-03-29T04:27:56.313 回答