使用OJET创建动态ojTable

时间:2017-06-12 06:04:34

标签: oracle-jet

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

1 个答案:

答案 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/