@@ -114,7 +114,15 @@ public string ColumnDefsString
114
114
115
115
public bool AutoWidth { get ; set ; }
116
116
117
-
117
+ public string ColumnInitialSearchString
118
+ {
119
+ get
120
+ {
121
+ return convertColumnDefsInitialSearchToJson ( Columns ) ;
122
+ }
123
+ }
124
+
125
+
118
126
119
127
public string Dom
120
128
{
@@ -225,7 +233,17 @@ public _FilterOn<DataTableConfigVm> FilterOn(string columnName, object jsOptions
225
233
IDictionary < string , object > optionsDict = convertObjectToDictionary ( jsOptions ) ;
226
234
return FilterOn ( columnName , optionsDict ) ;
227
235
}
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
+ }
228
242
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 )
229
247
{
230
248
var colDef = this . Columns . Single ( c => c . Name == columnName ) ;
231
249
if ( jsOptions != null )
@@ -235,6 +253,13 @@ public _FilterOn<DataTableConfigVm> FilterOn(string columnName, IDictionary<stri
235
253
colDef . Filter [ jsOption . Key ] = jsOption . Value ;
236
254
}
237
255
}
256
+ if ( jsInitialSearchCols != null )
257
+ {
258
+ foreach ( var jsInitialSearchCol in jsInitialSearchCols )
259
+ {
260
+ colDef . JsInitialSearchCols [ jsInitialSearchCol . Key ] = jsInitialSearchCol . Value ;
261
+ }
262
+ }
238
263
return new _FilterOn < DataTableConfigVm > ( this , colDef ) ;
239
264
}
240
265
@@ -279,6 +304,13 @@ private static string convertColumnDefsToJson(IEnumerable<ColDef> columns)
279
304
return "[]" ;
280
305
}
281
306
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
+
282
314
private static string convertColumnSortingToJson ( IEnumerable < ColDef > columns )
283
315
{
284
316
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