2014-11-20 30 views
0

我正在實現搜索功能,我在頁面上有兩個部分。第一部分是首先隱藏的搜索表單和第二個搜索結果表。所以我試圖從表格中的搜索結果中加載數據並顯示它。所以我的問題是:在DataTable中加載ajax呼叫響應數據1.10

  1. 在哪裏把DataTable啓動代碼?文檔準備好還是AJAX成功?
  2. 如何從控制器向DataTable發送響應?

代碼段

function onSearchClick() { 
    $.ajax({ 
    type: ... 
    url: ... 
    success: function(response) { 
     console.log(response); //Need to send this response to DataTable 
    } 
    }); 
} 

回答

0

我們可以使用

rows.add() 

其中多行表補充。只有參數是DataTable可以用來渲染行的數據。

0

你不說你正在使用的數據表的版本,但對於1.9 ...

使用iDeferLoading以防止把你的數據表中的初始化代碼$(document).ready該表在頁面加載時填充:

var oTable = $('#your-table').dataTable({ 
     'bServerSide': true, 
     'sAjaxSource': 'your-url-that-returns-json', 
     // Pass custom param to server 
     "fnServerParams": function (aoData) { 
      aoData.push({ "name": "my-filter", "value": $('my-selector').val() }); 
     }, 
     'bProcessing': true, 
     'iDeferLoading': 1, 
     'aoColumns': [ 
     ... 
     ] 
    }); 

您的點擊事件只是需要DS叫fnDraw()填充數據表:

function onSearchClick() { 
    oTable.fnDraw(); 
} 

傳遞的搜索參數到服務器端代碼包括使用fnServerParams。您的服務器端代碼將不得不返回過濾後的數據之前,請求獲取這些值,並在查詢中使用它們:

var searchParam = Request.QueryString["my-filter"] 
+0

對不起,它的DataTable 1.10 – 2014-11-21 14:51:57