@@ -114,7 +114,15 @@ public string ColumnDefsString
114114
115115 public bool AutoWidth { get ; set ; }
116116
117-
117+ public string ColumnInitialSearchString
118+ {
119+ get
120+ {
121+ return convertColumnDefsInitialSearchToJson ( Columns ) ;
122+ }
123+ }
124+
125+
118126
119127 public string Dom
120128 {
@@ -225,7 +233,17 @@ public _FilterOn<DataTableConfigVm> FilterOn(string columnName, object jsOptions
225233 IDictionary < string , object > optionsDict = convertObjectToDictionary ( jsOptions ) ;
226234 return FilterOn ( columnName , optionsDict ) ;
227235 }
236+ public _FilterOn < DataTableConfigVm > FilterOn ( string columnName , object jsOptions , object jsInitialSearchCols )
237+ {
238+ IDictionary < string , object > optionsDict = convertObjectToDictionary ( jsOptions ) ;
239+ IDictionary < string , object > initialSearchColsDict = convertObjectToDictionary ( jsInitialSearchCols ) ;
240+ return FilterOn ( columnName , optionsDict , initialSearchColsDict ) ;
241+ }
228242 public _FilterOn < DataTableConfigVm > FilterOn ( string columnName , IDictionary < string , object > jsOptions )
243+ {
244+ return FilterOn ( columnName , jsOptions , null ) ;
245+ }
246+ public _FilterOn < DataTableConfigVm > FilterOn ( string columnName , IDictionary < string , object > jsOptions , IDictionary < string , object > jsInitialSearchCols )
229247 {
230248 var colDef = this . Columns . Single ( c => c . Name == columnName ) ;
231249 if ( jsOptions != null )
@@ -235,6 +253,13 @@ public _FilterOn<DataTableConfigVm> FilterOn(string columnName, IDictionary<stri
235253 colDef . Filter [ jsOption . Key ] = jsOption . Value ;
236254 }
237255 }
256+ if ( jsInitialSearchCols != null )
257+ {
258+ foreach ( var jsInitialSearchCol in jsInitialSearchCols )
259+ {
260+ colDef . JsInitialSearchCols [ jsInitialSearchCol . Key ] = jsInitialSearchCol . Value ;
261+ }
262+ }
238263 return new _FilterOn < DataTableConfigVm > ( this , colDef ) ;
239264 }
240265
@@ -279,6 +304,13 @@ private static string convertColumnDefsToJson(IEnumerable<ColDef> columns)
279304 return "[]" ;
280305 }
281306
307+ private static string convertColumnDefsInitialSearchToJson ( IEnumerable < ColDef > columns )
308+ {
309+ var initialSearches = columns
310+ . Select ( c => c . Searchable & c . JsInitialSearchCols . Any ( ) ? c . JsInitialSearchCols : null ) . ToArray ( ) ;
311+ return new JavaScriptSerializer ( ) . Serialize ( initialSearches ) ;
312+ }
313+
282314 private static string convertColumnSortingToJson ( IEnumerable < ColDef > columns )
283315 {
284316 var sortList = columns . Select ( ( c , idx ) => c . SortDirection == SortDirection . None ? new dynamic [ ] { - 1 , "" } : ( c . SortDirection == SortDirection . Ascending ? new dynamic [ ] { idx , "asc" } : new dynamic [ ] { idx , "desc" } ) ) . Where ( x => x [ 0 ] > - 1 ) . ToArray ( ) ;
0 commit comments