我有一个包含n行和n列的JSON数据。我需要创建一个表来显示分页结果。是否有可能使用JSON中的动态行数和列数创建一个ojtable?
答案 0 :(得分:2)
组件将根据JSON文件中的数据行数为您处理行。如果要限制开始时显示的行数,则可以为ojTable设置The columns选项,该对象可以动态设置应该显示的列。
这样的事情:
<table data-bind="ojComponent: {component: 'ojTable',
data: pagingDatasource,
columns: dynamicCols}">
</table>
self.getCols = function () {
var url = getUrl();
$.getJSON(url).then(function (data) {
var tempCols = [];
for (var property in data.items[0]) {
if (data.items[0].hasOwnProperty(property)) {
tempCols.push({headerText: property, field: property});
}
}
self.dynamicCols(tempCols);
self.pagingDatasource(new oj.PagingTableDataSource(new oj.ArrayTableDataSource(data.items, {idAttribute: 'empno'})));
}
这是一个jsFiddle,展示了如何做到这一点。您可以在两个URL之间进行(取消)注释,以根据REST端点返回的JSON查看不同的生成表。 https://jsfiddle.net/peppertech/mdp0xjh3/