responsive.details.display
定义如何向最终用户显示隐藏的信息。
请注意 - 此属性需要 DataTables 的 自适应 扩展。
说明
响应提供使用 DataTables 子行功能 (row().child()
) 显示已隐藏列有关信息的能力,但是您可能希望以不同的方式显示数据(有可能使您可以将子行用于其他操作,例如编辑) - 此参数提供了这种功能。
给定的函数负责显示和隐藏子数据,通常在最终用户请求这样做时(第二个参数)。它可以用于在子行中显示信息(默认情况下这样做),在模式弹出窗口中,在单独的信息元素中,甚至可以打开具有详细信息的新窗口。
Responsive 已内置大量显示功能,可以从 $.fn.dataTable.Responsive.display
对象中访问 - 内置选项为
childRow
- 在子行中显示隐藏的信息,最终用户可以切换其可见性。childRowImmediate
- 在子行中显示信息,但不要等待用户请求显示数据,而是立即显示数据。modal()
- 在模式弹出窗口中显示信息 - 请注意,这是一个 **函数**,在分配时应执行(请参见下面的示例)。这是为了允许将选项传递到正在使用的模式库中。当与 Bootstrap、Foundation 和 jQuery UI 集成选项一起使用时,Responsive 将使用样式框架的原生模式显示来确保向最终用户显示一致的界面。可以传递到函数中的选项取决于所使用的样式框架
类型
function display( row, update, render )
- 参数
名称 类型 可选 1 行
否 指定表的 DataTables API 实例,预先填充了正在操作的行 - 即从
row()
的结果。2 更新
否 此参数用于告知函数触发函数调用的原因
true
- 这是由列可见性更改、重新绘制表格或非用户特别激活行的其他操作引起的自动更新。false
- 行的最终用户触发器。这应类似地用作切换(如果可以显示和隐藏隐藏的详细信息)或显示操作(如果只能从行中显示它们(例如,在模式中)。
3 渲染
否 要显示的数据 - 提供此数据将作为一项函数,以便仅在需要时才会执行(即,当显示函数仅将数据隐藏起来时,没有必要收集数据)。此函数返回的字符串是由
responsive.details.renderer
函数给定的。它不接受任何输入参数。- 返回值
如果显示函数显示了隐藏的数据,则返回
true
,否则返回false
。此信息用于触发事件,指示 Responsive 显示或隐藏了信息。如果返回undefined
,则不会触发任何事件。
默认值
- 值:
DataTable.Responsive.display.childRow
示例
使用 childRowImmediate
显示选项
new DataTable('#myTable', {
responsive: {
details: {
display: DataTable.Responsive.display.childRowImmediate,
type: ''
}
}
});
在没有任何选项的情况下使用 modal
new DataTable('#myTable', {
responsive: {
details: {
display: DataTable.Responsive.display.modal()
}
}
});
以指定标题的方式使用 modal
new DataTable('#myTable', {
responsive: {
details: {
display: DataTable.Responsive.display.modal({
header: function (row) {
var data = row.data();
return 'Details for ' + data.clientName;
}
})
}
}
});