使用Select with datatables列过滤和MVC服务器端处理

时间:2012-05-23 19:51:15

标签: ajax asp.net-mvc datatables

我一直在使用JQuery插件数据表和.NET MVC3框架进行项目。我正在使用AJAX控制器进行服务器端处理。我也一直在使用“columnfiltering”数据表插件来进行单独的列过滤。它适用于文本输入和数字范围。我虽然选择了问题。我可以显示一个选择字段,我甚至知道如何以这种方式给它特定的选项

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

但我希望从表格中的数据中选择自动填充。有没有办法做到这一点,我知道我可以创建另一个ajax控制器并使用JQuery命中控制器给我我想要的数据,但我宁愿把它包装到我已经拥有的表控制器中。谢谢!

1 个答案:

答案 0 :(得分: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
});