我有一个包含 n 行和 n 列的 JSON 数据。我需要从中创建一个表来显示带有分页的结果。是否有可能从 JSON 创建一个具有动态行数和列数的 ojtable?
问问题
1959 次
1 回答
2
组件将根据 JSON 文件中的数据行数为您处理这些行。如果您想限制开始时显示的行数,则设置 ojTable 的列选项可以传递一个对象,该对象将动态设置应显示的列。
像这样的东西:
<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/
于 2017-06-12T23:52:06.053 回答