diff --git a/DatatableJS.Net/JSHelper.cs b/DatatableJS.Net/JSHelper.cs index 35ba2d8..b91cce2 100644 --- a/DatatableJS.Net/JSHelper.cs +++ b/DatatableJS.Net/JSHelper.cs @@ -73,14 +73,32 @@ public static MvcHtmlString Render(this GridBuilder grid) { var tfoot = grid._columnSearching ? $@" - - {string.Join(Environment.NewLine, grid._columns.Select(a => string.Format("{0}", a.Searchable ? $"" : "")))} + + {string.Join(Environment.NewLine, grid._columns.Select(a => string.Format("{0}", a.Searchable ? $"" : "")))} " : string.Empty; var tfootInit = string.Empty; + var initFootSearch = grid._stateSave ? + $@"var dtable = $('#{grid._name}').DataTable(); + var dState = dtable.state.loaded(); + var dCounter = -1; + if (dState) {{ + dtable.columns().eq(0).each(function(colIdx) {{ + var colSearch = dState.columns[colIdx].search; + if (dState.columns[colIdx].visible){{ + dCounter++; + }} + if (colSearch.search) {{ + $('input', $('.filters th')[dCounter]).val(colSearch.search); + }} + }}); + dtable.draw(); + }};" + : string.Empty; + if (!String.IsNullOrEmpty(grid._callBack.InitComplete) && grid._columnSearching == false) { tfootInit = "initComplete: function (settings, json) {"; @@ -102,6 +120,7 @@ public static MvcHtmlString Render(this GridBuilder grid) }} }}); }}); + {initFootSearch} }}," : string.Empty; } @@ -119,6 +138,7 @@ public static MvcHtmlString Render(this GridBuilder grid) }} }}); }}); + {initFootSearch} }}," : string.Empty; } diff --git a/DatatableJS/JSHelper.cs b/DatatableJS/JSHelper.cs index ae12eef..08502f7 100644 --- a/DatatableJS/JSHelper.cs +++ b/DatatableJS/JSHelper.cs @@ -58,14 +58,32 @@ public static IHtmlContent Render(this GridBuilder grid) { var tfoot = grid._columnSearching ? $@" - - {string.Join(Environment.NewLine, grid._columns.Select(a => string.Format("{0}", a.Searchable ? $"" : "")))} + + {string.Join(Environment.NewLine, grid._columns.Select(a => string.Format("{0}", a.Searchable ? $"" : "")))} " : string.Empty; var tfootInit = string.Empty; + var initFootSearch = grid._stateSave ? + $@"var dtable = $('#{grid._name}').DataTable(); + var dState = dtable.state.loaded(); + var dCounter = -1; + if (dState) {{ + dtable.columns().eq(0).each(function(colIdx) {{ + var colSearch = dState.columns[colIdx].search; + if (dState.columns[colIdx].visible){{ + dCounter++; + }} + if (colSearch.search) {{ + $('input', $('.filters th')[dCounter]).val(colSearch.search); + }} + }}); + dtable.draw(); + }};" + : string.Empty; + if (!String.IsNullOrEmpty(grid._callBack.InitComplete) && grid._columnSearching == false) { tfootInit = "initComplete: function (settings, json) {"; @@ -87,6 +105,7 @@ public static IHtmlContent Render(this GridBuilder grid) }} }}); }}); + {initFootSearch} }}," : string.Empty; } @@ -104,6 +123,7 @@ public static IHtmlContent Render(this GridBuilder grid) }} }}); }}); + {initFootSearch} }}," : string.Empty; }