0

単純な ExtJS 5 Grid にフィルタリングを追加しようとしています。インストールによって提供される簡単な例を使用していますが、すべてのレコードをフィルタリングしようとすると IE を除いて、正常に動作しているように見えます。

誰もこの問題を見たことがありますか?これが私が使用しているコードです。

`$("#SearchEmployees").click(関数 () {

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 に答える