最近,我的老板要求我为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。这解决了问题。

10-08 08:41
查看更多