【发布时间】: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