jqxgrid bug 3

setting checkbox column cellsrenderer leads to disappearing checkboxes while scrolling. Set cellsformat='n' for integer and columntype='numberinput' and try to edit this column. It seems like editing decimal numbers. try to filter column count. it is unfilterable/ why updatebounddata clears filters and sorting when virtual mode = false? when it's true filtering works

by fessdmks

HTML

<script src="http://jqwidgets.com/public/jqwidgets/jqx-all.js"></script>
<link rel="stylesheet" href="http://jqwidgets.com/public/jqwidgets/styles/jqx.base.css">
<link rel="stylesheet" href="http://jqwidgets.com/public/jqwidgets/styles/jqx.energyblue.css">
<div id="jqxgrid"></div>

JavaScript

var source = {
    datatype: "json",
    datafields: [{
        name: 'selection',
        type: 'bool'
    }, {
        name: 'countryName',
        type: 'string'
    }, {
        name: 'count',
        type: 'int'
    }],
    id: 'id',
    url: "/findRange",
    cache: false,
};
var data = [{
    selection: true,
    countryName: "1fvfvfdvf",
    count: 1
}, {
    selection: true,
    countryName: "2",
    count: 2
}, {
    selection: true,
    countryName: "3",
    count: 3
}, {
    selection: true,
    countryName: "4",
    count: 4
}, {
    selection: true,
    countryName: "5",
    count: 5
}, {
    selection: true,
    countryName: "6",
    count: 6
}, {
    selection: true,
    countryName: "7",
    count: 7
}, {
    selection: true,
    countryName: "8",
    count: 8
}, {
    selection: true,
    countryName: "9",
    count: 9
}, {
    selection: true,
    countryName: "10",
    count: 10
}, {
    selection: true,
    countryName: "11",
    count: 11
}];
var dataAdapter = new $.jqx.dataAdapter(source, {
    formatData: function (data) {
        //data.recordendindex=Math.floor(data.recordendindex);
        return data;
    },
    processData: function (data) {
        //data.recordendindex=Math.floor(data.recordendindex);
        console.info("process data");
    },
    beforeSend: function (jqXHR, settings) {
        console.info("before send");
    },
    loadError: function (jqXHR, status, error) {
        console.info("loadError");
    },
    downloadComplete: function (edata, textStatus, jqXHR) {
        console.info("downloadComplete");
    },
    beforeLoadComplete: function (data, origData) {
        console.info("beforeLoadComplete");
    },
    loadServerData: function (serverdata, source, callback) {
        console.info("loadServerData");
        var end = Math.floor(serverdata.recordendindex);
        //because serverdata.recordendindex=10.571428571428571
        /*if(end<serverdata.recordendindex){
					end=end+1;
				  }*/
       ...