2

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

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

但我想让选择从表中的数据中自动填充。有什么方法可以做到这一点,我知道我可以创建另一个 ajax 控制器并使用 JQuery 来访问该控制器以提供我想要的数据,但我更愿意将它包装到我已经拥有的表控制器中。谢谢!

4

1 回答 1

0

如果您从 MVC 控制器返回 json,则可以使用 fnServerParams,如下所示:

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

aaData填充数据表的数据在哪里,selectListData选择列表的数据在哪里。

在数据表初始化代码中,您会得到如下selectListData值:

"fnServerData": function (sSource, aoData, fnCallback) {
    $.getJSON(sSource, aoData, function (json) {
        var selectlist = json.selectListData;
    }
    fnCallback(json); // this call populates the datatable
});
于 2015-02-16T16:13:49.807 回答