簡體   English   中英

無法使用Scroller Extension jQuery Datatable加載服務器端數據

[英]Unable to load server side data using Scroller Extension jQuery Datatable

我正在嘗試使用Scroller插件渲染我的數據表。數據僅加載一次,但進一步滾動時則僅顯示加載數據。 我想念什么嗎? 我正在嘗試在Salesforce Lightning中實施它。 我已經加載了Scroller Library v1.4.2和DataTable v1.10.11

sessionTable = $j('#table-1').DataTable(
 {
 "info": true,
 "searching": true,

 "processing": false,
 "dom": '<"div-pg"pi><"div-search"f><"div-tbl">t<"bottom-info"> ', // f search, p :- pagination , l:- page length
  paging:true,
 "order" : [[2,"asc"]],
 "serverSide": true,

 //scrollY: "200px",
 scrollX : true,
 "ajax": function (data, callback, settings) {
              var allRecs = component.get("c.runQuery");


              allRecs.setParams(
              {
                 "request" : data ,
              });

                 allRecs.setCallback(this, function(response)
                 {
                    console.log('in setCallback Populating Data' );
                    /*console.log(response.getReturnValue());*/

                    var state = response.getState();

                     if(state === 'SUCCESS' && response.getReturnValue != null)
                     {
                         //callback(JSON.parse(response.getReturnValue()));
                        //callback(sessionTable.rows.add(JSON.parse(response.getReturnValue())).columns.adjust().draw());

                         var resp = JSON.parse(response.getReturnValue());
                         console.log(resp);

                         setTimeout( function () {
                         callback( {
                             draw:resp.draw,
                             data: JSON.parse(resp.data),
                             recordsTotal: resp.recordsTotal,
                             recordsFiltered: resp.recordsTotal
                         } );
                              }, 200 );



                 });
                 $A.enqueueAction(allRecs);
     },


 scrollY:     "300px",
 scroller: {
     loadingIndicator: true
 },
 scrollCollapse: true,

 "language":
 {
     "emptyTable": "Loading Data"
 },

問題出在Salesforce Lightning上,它沒有返回響應。 這是解決方法,我們可以通過在排隊后添加以下代碼來強制Salesforce做出響應:

$A.enqueueAction(allRecs); 
window.setTimeout(
$A.getCallback(function() {
    console.log('Calling');                                     
}), 200);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM