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