最近,我的老板要求我为Salesforce中的datatables插件实现固定标头插件。
设计我的代码的方式是,每次单击搜索按钮时,我都有一个向数据库发送的回调函数以及一个重新初始化数据表的oncomplete函数。
查看固定标头的示例代码,然后将调用放在初始化块内的函数new FixedHeader(oTable);
上。不必一次又一次地初始化标题,而是一次又一次地创建标题。因此,对于每个调用,我都有一个新的浮动标头,以及在某个错位的角上还有一个旧的浮动标头,该如何更改呢?
function Kudos()
{
oTable = $('.datatable').dataTable({
"iDisplayLength": 100,
"sDom": '<C><"H"T><"clear"><"H">t<"F"ip>',
"bRetrieve": true,
"aoColumnDefs": [ {
"aTargets": [3,4,5,6,7,8,9,10],
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
if ( sData < "0" ) {
$(nTd).css('color', 'red')
$(nTd).css('font-weight', 'bold')
}
}
} ],
"oTableTools":
{
"sSwfPath": "{!$Resource.SWF_File}",
"aButtons": [
{
"sExtends": "csv",
"sFileName": "PortFolio.csv",
"sButtonText":"Export"
}, "print" ]
},
"oColVis":
{
"activate": "mouseover"
},
"bAutoWidth": false,
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"aaSorting": [[ 2, "asc" ]] ,
"bLengthChange": false,
"bFilter": true,
"aoColumns": [
{ "sWidth": "6%" },
{"sWidth": "6%"},
{"sWidth": "6%"},
{ "sWidth": "6%" },
{"sWidth": "6%"},
{"sWidth": "6%"},
{ "sWidth": "6%" },
{"sWidth": "6%"},
{"sWidth": "6%"},
{ "sWidth": "6%" },
{"sWidth": "6%"},
{"sWidth": "6%"},
{ "sWidth": "6%" },
{"sWidth": "6%"},
{"sWidth": "6%"}
]
});
new FixedHeader( oTable );
}
最佳答案
k,这似乎是一个已知的错误。下一版本的用于数据表的FixedHeader插件中似乎包含了诸如固定标头的destroy函数之类的不可用功能。基本上没有修复atm
当我在使用Salesforce时,很容易重新渲染VF页面的某些部分,而无需重新加载整个页面,因此我最终在每次渲染时都重建了DataTable。这解决了问题。