我正在处理数据表,我需要在按钮点击时创建一个嵌套表。到目前为止我已经完成了这项工作但无法获取嵌套数据表行数据。
我使用了this示例。这是我到目前为止所获得的行数据。
oInnerTable = $('#opiniondt_' + iTableCounter).dataTable({
data: newArr,
autoWidth: true,
deferRender: true,
info: false,
lengthChange: false,
ordering: false,
paging: false,
scrollX: false,
scrollY: false,
searching: false,
columns: [
{
className: 'inner-details-control',
orderable: false,
data: null,
defaultContent: ''
},
{"mData": "datasetId"},
{"mData": "name"},
{"mData": "datasetType", "visible": false},
{"mData": "parentDatasetID", "visible": false},
{"mData": "description", "visible": false},
{"mData": "totalRecords"},
{"mData": "creationTimeStr"},
{"mData": "endTimeStr"},
{bSortable: false,
mRender: function (o) {return '<button class="btn btn-blue innerDatasetDetailButton" id="innerDatasetDetailButton"><i class="fa fa-check"></i></button>'; }
}
],
order: [[1, 'asc']]
});
$('#opiniondt_' + iTableCounter + ' tbody').unbind().on("click", "td.inner-details-control", function () {
var tr = $(this).closest('tr');
var row = oInnerTable.row( tr );
var rowData = oInnerTable.row( tr ).data();
iTableCounter = iTableCounter + 1;
if (row.child.isShown()) {
row.child.hide();
tr.removeClass('shown');
}
else {
//createInnerTable(tr, row, rowData);
}
});
我已使用oInnerTable
初始化了内部表,但它在oInnerTable
TypeError:oInnerTable.row不是函数
可以任何人告诉我如何从嵌套数据表中获取行数据?
答案 0 :(得分:0)
初始化表格时需要使用('#opiniondt_' + iTableCounter).DataTable(...)
- 注意案例的不同之处。如果使用dataTable(...)
,则会在oInnerTable
中返回一个jQuery对象,而不是发出row()
命令所需的DataTables API对象。