在slickgrid中数据显示不正确:某些列未在启动时显示数据

时间:2015-05-20 10:06:56

标签: javascript slickgrid dataview

我正在使用slickgrid在UI上显示我的数据。我正在使用dataview来设置网格中的数据。我得到的问题是当我在数据视图中设置数据时,在开始时它只显示前3-4列填充数据而其他所有列都为空。当我导航到最后一页(rihgt现在我有3个页面的slickgrid分页)它显示完整的数据,然后它适用于所有页面(即,在转到最后一页,它显示所有列的所有页面的数据)。我尝试渲染网格并刷新数据视图,但它无法正常工作。 这是我在页面上渲染slickgrid的代码。

var data = [];
var column = [ {
    id : 'fillid',
    name : 'Fill ID',
    field : 'fillid'
}, {
    id : 'oid',
    name : 'Order ID',
    field : 'oid'
}, {
    id : 'price',
    name : 'Price',
    field : 'price'
}, {
    id : 'fillQTY',
    name : 'Fill QTY',
    field : 'fillQTY'
}, {
    id : 'symbol',
    name : 'symbol',
    field : 'symbol'
}, {
    id : 'cumQTY',
    name : 'cumQTY',
    field : 'cumQTY'
}, {
    id : 'fillPX',
    name : 'Fill PX.',
    field : 'fillPX'
}, {
    id : 'transactiontime',
    name : 'Transaction Time',
    field : 'transactiontime'
}, {
    id : 'ccy',
    name : 'Currency',
    field : 'ccy'
}, {
    id : 'venue',
    name : 'Venue',
    field : 'venue'
}, {
    id : 'fixingdate',
    name : 'Fixing Date',
    field : 'fixingdate'
}, {
    id : 'sendtime',
    name : 'Send Time',
    field : 'sendtime',
    width : 110
}, {
    id : 'side',
    name : 'Side',
    field : 'side'
}, {
    id : 'orderQTY',
    name : 'Order QTY',
    field : 'orderQTY'
} ];
var resData;

resData = fillsDATA.data;
for (j = 0; j < resData.length; j++) {
    var obj = {
        id : j ,
        fillid : resData[j].fillid,
        oid : resData[j].oid,
        price : resData[j].price,
        fillQTY : resData[j].fillQTY,
        symbol : resData[j].symbol,
        cumQTY : resData[j].cumQTY,
        fillPX : resData[j].fillPX,
        transactiontime : resData[j].transactiontime,
        ccy : resData[j].ccy,
        venue : resData[j].venue,
        fixingdate : resData[j].fixingdate,
        sendtime : resData[j].sendtime,
        side : resData[j].side,
        orderQTY : resData[j].orderQTY
    };
    data[data.length] = obj;
}
var options = {
    editable : true,
    enableAddRow : false,
    autoEdit : false,
    autoHeight : true
};
var groupItemMetadataProvider = new Slick.Data.GroupItemMetadataProvider();
var dataView = new Slick.Data.DataView({
    groupItemMetadataProvider : groupItemMetadataProvider,
    inlineFilters : true
});
var tradesGrid = new Slick.Grid(FillsGrid, dataView, column, options);
tradesGrid.registerPlugin(groupItemMetadataProvider);
var pager = new Slick.Controls.Pager(dataView, tradesGrid,
        $("#tradesPager"));
dataView.onRowCountChanged.subscribe(function(e, args) {
    tradesGrid.updateRowCount();
    tradesGrid.render();
});
dataView.onRowsChanged.subscribe(function(e, args) {
    tradesGrid.invalidateRows(args.rows);
    tradesGrid.render();
});

dataView.beginUpdate();
dataView.setItems(data);
dataView.endUpdate();
dataView.setPagingOptions({
    pageSize : 20
});
tradesGrid.render();
tradesGrid.updateRowCount();
dataView.refresh();

我在我的应用程序的许多其他不同的地方使用网格,它的工作正常我不明白我在哪里出错了。 任何帮助将受到高度赞赏。感谢

0 个答案:

没有答案