} //добавлено из старой версии public CoreGrid(HttpContext context) { Context = context; AutoEncode = false; AutoWidth = false; ShrinkToFit = true; LoadOnce = false; ScrollToSelectedRow = false; EnableKeyboardNavigation = true; EditDialogSettings = new EditDialogSettings(); AddDialogSettings = new AddDialogSettings(); DeleteDialogSettings = new DeleteDialogSettings(); SearchDialogSettings = new SearchDialogSettings(); SearchToolBarSettings = new SearchToolBarSettings(); ViewRowDialogSettings = new ViewRowDialogSettings(); PagerSettings = new PagerSettings(); ToolBarSettings = new ToolBarSettings(); SortSettings = new SortSettings(); AppearanceSettings = new AppearanceSettings(); HierarchySettings = new HierarchySettings(); GroupSettings = new GroupSettings(); TreeGridSettings = new TreeGridSettings(); ExportSettings = new GridExportSettings(); ClientSideEvents = new ClientSideEvents(); PivotSettings = new PivotSettings(); Columns = new List <CoreColumn>(); HeaderGroups = new List <CoreGridHeaderGroup>(); DataUrl = ""; EditUrl = ""; ColumnReordering = false; RenderingMode = RenderingMode.Default; MultiSelect = false; MultiSelectMode = MultiSelectMode.SelectOnRowClick; MultiSelectKey = MultiSelectKey.None; Width = ""; Height = ""; ID = ""; IDPrefix = ""; PostData = ""; Responsive = false; StyleUI = "jQueryUI"; FunctionsHash = new Hashtable(); ReplacementsHash = new Hashtable(); }
private JsonResult FilterDataSource(object dataSource, Dictionary <string, string> queryString, out IQueryable iqueryable) { //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_0282: Expected O, but got Unknown string text = ""; string text2 = ""; string text3 = ""; string text4 = ""; string searchString = ""; string searchOper = ""; string text5 = ""; string sortDirection = ""; int num = 1; int num2 = 0; iqueryable = (dataSource as IQueryable); Guard.IsNotNull(iqueryable, "DataSource", "should implement the IQueryable interface."); if (queryString.ContainsKey("page")) { num = Convert.ToInt32(queryString["page"]); } if (queryString.ContainsKey("rows")) { num2 = Convert.ToInt32(queryString["rows"]); } if (queryString.ContainsKey("sidx")) { text5 = queryString["sidx"]; } if (queryString.ContainsKey("sord")) { sortDirection = queryString["sord"]; } if (queryString.ContainsKey("parentRowID")) { text = queryString["parentRowID"]; } if (queryString.ContainsKey("_search")) { text2 = queryString["_search"]; } if (queryString.ContainsKey("filters")) { text3 = queryString["filters"]; } if (queryString.ContainsKey("searchField")) { text4 = queryString["searchField"]; } if (queryString.ContainsKey("searchString")) { searchString = queryString["searchString"]; } if (queryString.ContainsKey("searchOper")) { searchOper = queryString["searchOper"]; } PagerSettings.CurrentPage = num; if (num2 > 0) { PagerSettings.PageSize = num2; } if ((!string.IsNullOrEmpty(text2) && text2 != "false") || !string.IsNullOrEmpty(text3)) { try { if (string.IsNullOrEmpty(text3) && !string.IsNullOrEmpty(text4)) { iqueryable = iqueryable.Where(Util.GetWhereClause(this, text4, searchString, searchOper)); } else if (!string.IsNullOrEmpty(text3)) { var predicate = Util.GetWhereClause(this, text3); if (!string.IsNullOrEmpty(predicate)) { iqueryable = iqueryable.Where(predicate); } } else if (ToolBarSettings.ShowSearchToolBar || text2 == "true") { iqueryable = iqueryable.Where(Util.GetWhereClause(this, queryString)); } } catch (DataTypeNotSetException ex) { throw ex; } catch (Exception e) { throw e; } } int num3 = iqueryable.Count(); if (PivotSettings.IsPivotEnabled()) { num2 = num3; } int totalPagesCount = (int)Math.Ceiling((double)((float)num3 / (float)num2)); if (string.IsNullOrEmpty(text5) && SortSettings.AutoSortByPrimaryKey) { if (Columns.Count == 0) { throw new Exception("CoreGrid must have at least one column defined."); } text5 = Util.GetPrimaryKeyField(this); sortDirection = "asc"; } if (!string.IsNullOrEmpty(text5)) { iqueryable = iqueryable.OrderBy(GetSortExpression(text5, sortDirection)); } if (!LoadOnce && !PivotSettings.IsPivotEnabled()) { iqueryable = iqueryable.Skip((num - 1) * num2).Take(num2); } List <Hashtable> list = Util.ToListOfHashtables(iqueryable, this); DataResolved?.Invoke(new CoreGridDataResolvedEventArgs(this, iqueryable, DataSource as IQueryable)); JsonTreeResponse response = new JsonTreeResponse(num, totalPagesCount, num3, num2, list.Count, Util.GetFooterInfo(this)); return(Util.ConvertToJson(response, this, list)); }