2

我有一个包含 n 行和 n 列的 JSON 数据。我需要从中创建一个表来显示带有分页的结果。是否有可能从 JSON 创建一个具有动态行数和列数的 ojtable?

4

1 回答 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 回答