2012-10-11 2 views

답변

4

답변을 기다리는 동안 마침내 그것을 찾았습니다 : fnDraw 기능이 내가 필요한 것입니다.

그것은 at the beginning of the API section 설명,하지만 난 그냥 모두를 읽을 귀찮게하지 않았다

필요에 따라 당신은 당신의 데이터를 조작하기 위해 서버에 필요한 통화를해야하며, 단순히 redraw the table (fnDraw) 새로운보기 데이터.

+0

답변을 수락해야합니다. – nrodic

1

시도 통화 : 다음

$.fn.dataTableExt.oApi.fnReloadAjax = function (oSettings, sNewSource, fnCallback, bStandingRedraw) { 
    if (typeof sNewSource != 'undefined' && sNewSource != null) 
    { 
     oSettings.sAjaxSource = sNewSource; 
    } 
    this.oApi._fnProcessingDisplay(oSettings, true); 
    var that = this; 
    var iStart = oSettings._iDisplayStart; 
    var aData = []; 

    this.oApi._fnServerParams(oSettings, aData); 

    oSettings.fnServerData(oSettings.sAjaxSource, aData, function(json) { 
     /* Clear the old information from the table */ 
     that.oApi._fnClearTable(oSettings); 

     /* Got the data - add it to the table */ 
     var aData = (oSettings.sAjaxDataProp !== "") ? 
      that.oApi._fnGetObjectDataFn(oSettings.sAjaxDataProp)(json) : json; 

     for (var i=0 ; i<aData.length ; i++) 
     { 
      that.oApi._fnAddData(oSettings, aData[i]); 
     } 

     oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); 
     that.fnDraw(); 

     if (typeof bStandingRedraw != 'undefined' && bStandingRedraw === true) 
     { 
      oSettings._iDisplayStart = iStart; 
      that.fnDraw(false); 
     } 

     that.oApi._fnProcessingDisplay(oSettings, false); 

     /* Callback user function - for event handlers etc */ 
     if (typeof fnCallback == 'function' && fnCallback != null) 
     { 
      fnCallback(oSettings); 
     } 
    }, oSettings); 
} 

과 같이 호출 :

$("#Table1").fnDestroy().dataTable(); 

+1

+1 감사합니다. 하지만 방금 fnDraw 메소드를 찾았습니다. 아마 더 좋은 방법 일 것입니다. – Lou

+0

동의 함. 찾았습니다. –