2012-07-16 3 views
0

fnServerParams()의 일부 매개 변수를 업데이트하면 DataTables 프레젠테이션 계층에서 고려하지 않습니다.DataTables.net fnServerParams가 매개 변수 변경

예. 의는 iDisplayStart = 10 iDisplayEnd = 20가 올바른 값

'fnServerParams': function (aoData) { 
    // Find i such as aoData[i]['name'] == 'iDisplayStart' 
    aoData[i]['value'] = 10; 
    // Find j such as aoData[j]['name'] == 'iDisplayEnd' 
    aoData[j]['value'] = 20; 
}, 

나는 그것이 내 데이터의 2 페이지를 표시 할 것으로 예상하면서 그런 다음 호출 버튼이 여전히 1 페이지에 붙어 있다고 가정하자. 매개 변수 정렬에 대해서도 동일합니다.

편집 :

var oTable = $('#WEB_TABLE_ID').dataTable(
         {'aaSorting': [[0, 'desc']], 
         'bProcessing': true, 
         'bServerSide': true, 
         'sAjaxSource': '../subscription/search_list.php', 
         'sServerMethod': 'POST', 
         'sPaginationType': 'full_numbers', 
         'iDisplayLength': 100, // Default number of rows to display 
         'oLanguage': {'sSearch': "Search all", 
         'sLengthMenu': 'Display <select> \ 
<option value="10">10</option>        \ 
<option value="100">100</option>       \ 
<option value="500">500</option>       \ 
</select> entries',}, 
         'bAutoWidth': false, 
         'sDom': "<'row'<'span8'l><'top'i>r>t<'row'<'bottom'i><'span8'p>>" 
         'fnServerParams': function (aoData) { 
          var sEcho = aoData[0].value; 
          if ('1' == sEcho) { 
           var params = <?=json_encode(Session::read(${CTL_DATAID}))?>; 
           if (! $.isEmptyObject(params)) { 
            aoData.length = 0; // empty array 
            $.each(params, function(name, value) { 
             aoData.push({'name': name, 'value': value}); 
            }); 
           } 
          } 
         }, 
); 
+0

데이터 테이블을 초기화하는 코드를 붙여 넣을 수 있습니까? – Drakkainen

답변

0

내가 내 질문에 직접 솔루션을 필요는 없지만, 그것은 DataTable을의 상태를 저장했다대로, 나는 bStateSave 옵션 건너 온 : 초기화 코드는 다음과 같다 그 일을합니다.

관련 문제