刷新数据表而不刷新页面 [英] Refresh datatable without refreshing page

查看:99
本文介绍了刷新数据表而不刷新页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个从数据库中获取数据的数据表。我想要做的是,当表中的记录被更改时,它应该自动反映在数据表中不刷新页面。

如何做到这一点?我尝试使用deferRender但它似乎无法工作。我哪里出错了?



我尝试了什么:



I have a datatable that gets data from database. What i want to do is that when a record is changed in the table , it should automatically be reflected in the datatable "without" refreshing the page.
How can this be done? I tried using deferRender but it doesnt seem to work.Where am i going wrong?

What I have tried:

table = new $('#PTResults').DataTable({
           "ajax":"https://Myapplication.com/_api/web/lists/GetbyTitle('DriveAlive')/items?",
           "deferRender": true,
           "data": data.d.results,
            pageLength: -1,
            aLengthMenu:[[10,  -1],[10, 'All']],

           columns: [
               {
                   "mData": "ID",
                   visible: false
               },

               {
                   "mData": "EstimatedTimeOut"
               },
               {
                   "mData": "EstimatedTimeReturn"
               },
               {
                   "mData": "BU", visible: false
               },
               {
                   "mData": "BL"
               },
               {
                   "mData": "ActualTimeOut"
               },
               {
                   "mData": "ActualTimeReturn"
               },

              {
                   "mData": null,
                   "className": "dt-body-center",
                   "mRender": function (data, type, row) {
                       if (row['Status'] != 'Approved') {
                           return null
                       } else {
                            return '<button type="button" class="btn btn-xs btn-warning btn-block FNSH" id="' + row['ID'] + '" onClick="endThisTrip('+row['ID']+',\''+row['Title']+'\' )">Finish</button>'
                       }
                   }
              }
           ],
           "order": [1, 'dsc'],
           initComplete: function () {
               this.api().columns(['5']).every(function () {
                   var column = this;
                   var select = $('<select><option value=""></option></select>').appendTo($(column.footer()).empty()).on('change', function () {
                       var val = $.fn.dataTable.util.escapeRegex($(this).val());
                       column.search(val ? '^' + val + '$' : '', true, false).draw();
                   });
                   column.data().unique().sort().each(function (d, j) {
                       select.append('<option value="' + d + '">' + d + '</option>')
                   });
               });
               $('#Preloader').hide();
               $.when(ajaxRes).done(function(a){
                   console.log (a)
               });

           },
           "rowCallback": function ( row, data, index ) {
               if (!data.ActualTimeOut) {$('td', row).css('background-color', '#fdf7e4');}
               if (data.ActualTimeOut && !data.ActualTimeReturn) {$('td', row).css('background-color', '#ffe7e7');}
               if (data.ActualTimeOut && data.ActualTimeReturn) {$('td', row).css('background-color', '#dfffdd');}
           }
       });

推荐答案

('#PTResults')。DataTable({
ajax:https:/ /Myapplication.com/_api/web/lists/GetbyTitle('DriveAlive')/items?,
deferRender:true,
data:data.d.results,
pageLength:-1,
aLengthMenu:[[10,-1],[10,'All']],

列:[
{
mData :ID,
可见:false
},

{
mData:EstimatedTimeOut
},
{
mData:EstimatedTimeReturn
},
{
mData:BU,可见:false
},
{
mData:BL
},
{
mData:ActualTimeOut
},
{
mData:ActualTimeReturn
},

{
mData:null,
className: dt-body-center,
mRender:函数(数据,类型,行){
if(row ['Status']!='Approved'){
return null
} else {
return'< button type =buttonclass =btn btn-xs btn-warning btn-block FNSHid ='+ row ['ID'] +'onClick =endThisTrip('+ row ['ID'] +',\''+ row ['Title'] +'\')>完成< / button>'
}
}
}
],
order:[1,'dsc'],
initComplete:function(){
this.api()。columns( ['5'])。every(function(){
var column = this;
var select =
('#PTResults').DataTable({ "ajax":"https://Myapplication.com/_api/web/lists/GetbyTitle('DriveAlive')/items?", "deferRender": true, "data": data.d.results, pageLength: -1, aLengthMenu:[[10, -1],[10, 'All']], columns: [ { "mData": "ID", visible: false }, { "mData": "EstimatedTimeOut" }, { "mData": "EstimatedTimeReturn" }, { "mData": "BU", visible: false }, { "mData": "BL" }, { "mData": "ActualTimeOut" }, { "mData": "ActualTimeReturn" }, { "mData": null, "className": "dt-body-center", "mRender": function (data, type, row) { if (row['Status'] != 'Approved') { return null } else { return '<button type="button" class="btn btn-xs btn-warning btn-block FNSH" id="' + row['ID'] + '" onClick="endThisTrip('+row['ID']+',\''+row['Title']+'\' )">Finish</button>' } } } ], "order": [1, 'dsc'], initComplete: function () { this.api().columns(['5']).every(function () { var column = this; var select =


('< select>< option value =>< / option>< / select>')。appendTo(
('<select><option value=""></option></select>').appendTo(


(column.footer())。empty())。on('change',function(){
var val =
(column.footer()).empty()).on('change', function () { var val =


这篇关于刷新数据表而不刷新页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆