2012-05-23 31 views
2

我一直在使用JQuery插件數據表和.NET MVC3框架的項目。我正在使用AJAX控制器來執行服務器端處理。我也一直在使用「columnfiltering」數據表插件進行單獨的列過濾。它適用於文本輸入和數字範圍。雖然我有一個問題。我可以得到一個選擇現場露面,我甚至知道如何給它特定的選項以這種方式使用選擇與數據表列過濾和MVC服務器端處理

$('#example').dataTable() 
     .columnFilter({ 
     aoColumns: [ { type: "select", values: [ 'Gecko', 'Trident', 'KHTML', 'Misc', 'Presto', 'Webkit', 'Tasman'] } 
    }); 

但我想有選擇從表中的數據自動填充。有沒有辦法做到這一點,我知道我可以創建另一個Ajax控制器,並使用JQuery命中該控制器來給我我想要的數據,但我更願意將它包裝到我已擁有的表控制器中。謝謝!

回答

0

如果從MVC控制器返回JSON這樣你可以使用fnServerParams:

return Json(new 
{ 
    param.sEcho, 
    iTotalRecords = baseqry.TotalRecordCount, 
    iTotalDisplayRecords = baseqry.TotalRecordCount, 
    aaData = result, 
    selectListData = MySelectlistData 
}, JsonRequestBehavior.AllowGet); 

哪裏aaData是數據填充數據表,並selectListData是選擇列表的數據。

DataTable中的初始化代碼,你會得到selectListData值是這樣的:

"fnServerData": function (sSource, aoData, fnCallback) { 
    $.getJSON(sSource, aoData, function (json) { 
     var selectlist = json.selectListData; 
    } 
    fnCallback(json); // this call populates the datatable 
}); 
相關問題