0

我正在尝试将过滤添加到一个简单的 ExtJS 5 网格中。我正在使用安装提供的一个简单示例,看起来它工作正常,除了在 IE 中尝试过滤所有记录时被擦除。

有没有人看到这个问题?这是我正在使用的代码。

`$("#SearchEmployees").click(function () {

var criteria = $("#employeeName").val();

if (criteria == '' || criteria == null) {
    alert("Please apply search criteria.");
    return;
}

var baseurl = $("#hdnUrlSearch").val();

var data = (function () {

    $("#employeesSearchGrid").empty();

    $.ajax({
        type: "POST",
        url: baseurl,
        dataType: "json",
        data: { employeeName: criteria },
        async: false
    }).done(function (retData) {
        data = retData;
    }).fail(function (xhr) {
        alert(xhr.responseText);
    });

    return data;
})();

Ext.define('EmployeeSearch', {
    extend: 'Ext.data.Model',
    fields: [
        'FullName',
        'DepartmentName',
        'PhoneNumber',
        'EmailAddr'
    ]
});


var store = Ext.create('Ext.data.Store', {
    model: 'EmployeeSearch',
    proxy: {
        type: 'ajax'          
    },
    data: data
});

var grid = Ext.create('Ext.grid.Panel', {
    store: store,
    forceFit: true,
    columns: [{
        header: 'Name',
        dataIndex: 'FullName',
        flex: 1,
        filter: 'string',
        width: 440
    }, {
        header: 'Department',
        dataIndex: 'DepartmentName',
        filter: 'string',
        flex: 1,
        width: 200
    }, {
        header: 'Direct Phone',
        dataIndex: 'PhoneNumber',
        filter: 'string',
        flex: 1,
        width: 240
    }, {
        header: 'Notification Email',
        dataIndex: 'EmailAddr',
        flex: 1,
        filter: 'string'
    }],
    renderTo: 'employeesSearchGrid',
    frame: true,
    plugins: ['gridfilters']
});

});`

4

1 回答 1

1

该问题已通过添加网格高度得到解决。一旦我这样做了,过滤和排序就得到了修复。这是我的网格现在的样子:

 var grid = Ext.create('Ext.grid.Panel', {
    store: store,       
    columns: [{
        text: 'Name',
        dataIndex: 'FullName',            
        flex: 1,
        width: 440,
        sortable: true,
        filter: 'string'
    }, {
        text: 'Department',
        dataIndex: 'DepartmentName',
        flex: 1,
        width: 200,
        sortable: true,
        filter: 'string'
    }, {
        text: 'Direct Phone',
        dataIndex: 'PhoneNumber',
        flex: 1,
        width: 240,
        sortable: true,
        filter: 'string'
    }, {
        text: 'Notification Email',
        dataIndex: 'EmailAddr',
        flex: 1,
        sortable: true,
        filter: 'string'
    }],
    forceFit: true,
    split: true,
    renderTo: 'employeesSearchGrid',
    height: 210,
    frame: true,
    plugins: ['gridfilters']
});
于 2014-07-09T17:49:32.223 回答