【问题标题】:pull rendered cell data from datatable从数据表中提取渲染的单元格数据
【发布时间】:2019-08-10 17:05:07
【问题描述】:

我希望有一种方法可以从表格中提取呈现的单元格数据

我将 angularjs 与 angular-datatables 一起使用,它可以很好地渲染表格但是我想将渲染的数据拉到不同的服务中,但我无法在 datatables api 中找到获取渲染单元格数据的位置

例如,我在每一列上使用 .withRender 来查看日期字段并对其进行格式化

DTColumnBuilder.newColumn('due_date').withTitle('Due Date')
          .renderWith(function (data, type, full) {
            if (full.due_date) {
              return moment(full.due_date).format('DD/MM/YYYY');
            }
            return '-';
          }),

我希望能够访问这些条件更改并将其作为数据而不是初始 ajax 数据(例如日期或“-”)

我的列标题工作正常(我制作了一个映射以将呈现的标题映射到一个字段

function generateColumnMap(dt) {
        var columnMap = {};
        dt.columns().every(function () {

          if (!this.visible()) {
            return;
          }

          var header = this.header().innerText
          var field = this.dataSrc()


          if (field) {
            columnMap[field] = header
          }
        })
        return columnMap
      }

是否有类似的东西可以从每一行获取渲染的单元格并通过数据表 api 用该条件文本替换 ajax 数据?

【问题讨论】:

  • 编辑:您是否有理由必须使用数据表 API 来执行此操作?如果你想替换数据,为什么不在你的数据服务中进行一次转换,然后到处使用一个转换后的版本?
  • 这很复杂,我得让你坐在篝火上,和你讨论我接管的遗留代码的鬼故事。我真的没有选择不使用直到团队想要重构它。
  • var data = table.cells( idx, '' ).render( 'display' ); console.log( data );

标签: javascript jquery angularjs datatables


【解决方案1】:

我使用下面的建议来获得我需要的东西。

var data = table.cells( idx, '' ).render( 'display' ); console.log( data );

【讨论】:

    猜你喜欢
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 2018-06-19
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 2011-10-19
    相关资源
    最近更新 更多