Je crois que cela est arrivé depuis la dernière mise à niveau de mon paquet NuGet de 1.3.42
à 1.3.44
.Les filtres de colonne Mvc.JQuery.DataTables ont cessé de fonctionner
Report.cshtml:
@using Company.Controllers
@using Mvc.JQuery.DataTables
@using Mvc.JQuery.DataTables.Serialization
@{
ViewBag.Title = "Report";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section Styles {
@Styles.Render("~/CSS/mvcdatatables")
}
@section Scripts {
@Scripts.Render("~/bundles/mvcdatatables")
}
<div>
<h1>Report for @ViewBag.ProjectName</h1>
</div>
@{
var vm = Html.DataTableVm("table-id", (ProjectsController p) => p.GetReportData(null));
vm.Dom = "Blfrtip";
vm.LengthMenu = LengthMenuVm.Default();
vm.PageLength = 25;
vm.ColVis = false;
vm.UseColumnFilterPlugin = true;
vm.TableTools = true;
}
@Html.Partial("DataTable", vm)
Quand j'entre un terme de recherche dans les filtres de colonne, aucun filtrage se produit plus. Ce que je vois dans mon GetReportData est que DataTablesParam
n'a aucun sSearchValues
rempli plus.
public DataTablesResult<VariableModel> GetReportDataCore(DataTablesParam dataTableParam, /* ... params omitted */)
{
...
reportItems = ... // Details doesn't matter how I obtain these, it works, the view lists the name value pairs
var queryable = reportItems.InterceptWith(new SetComparerExpressionVisitor(StringComparison.CurrentCultureIgnoreCase));
return DataTablesResult.Create(queryable, dataTableParam, (ResponseOptions<VariableModel>)null);
}
Après la mise à niveau 1.3.44
j'ai essayé:
@{
var vm = Html.DataTableVm("table-id", (ProjectsController p) => p.GetReportData(null));
vm.Dom = "Blfrtip";
vm.LengthMenu = LengthMenuVm.Default();
vm.PageLength = 25;
vm.ColVis = false;
vm.Filter = true;
vm.ShowFilterInput = true;
vm.UseColumnFilterPlugin = true;
vm.TableTools = true;
vm.FilterOn("VariableName").Text().FilterOn("Value").Text(); // Even this
}
Que dois-je faire pour le faire fonctionner à nouveau?