private string GetOutput(CoreGrid grid, List <Hashtable> data) { StringBuilder stringBuilder = new StringBuilder(); if (ExportSettings.ExportHeaders) { foreach (CoreColumn column in grid.Columns) { stringBuilder.AppendFormat("{0}{1}", QuoteText(column.DataField), ExportSettings.CSVSeparator); } } stringBuilder.Append("\n"); for (int i = 0; i < data.Count; i++) { for (int j = 0; j < Columns.Count; j++) { if (Columns[j].Visible) { CoreColumn coreColumn = grid.Columns[j]; string text = (!string.IsNullOrEmpty(coreColumn.DataField) && !string.IsNullOrEmpty(coreColumn.DataFormatString)) ? coreColumn.FormatDataValue(data[i][coreColumn.DataField], coreColumn.HtmlEncode) : (data[i][coreColumn.DataField] as string); stringBuilder.AppendFormat("{0}{1}", data[i][coreColumn.DataField], ExportSettings.CSVSeparator); } } stringBuilder.Append("\n"); } return(stringBuilder.ToString()); }
internal static List <Hashtable> ToListOfHashtables(IQueryable iqueryable, CoreGrid grid) { List <Hashtable> list = new List <Hashtable>(); foreach (object item in iqueryable) { PropertyInfo[] properties = item.GetType().GetProperties(); Hashtable hashtable = new Hashtable(); PropertyInfo[] array = properties; foreach (PropertyInfo pi in array) { Type propertyType = pi.PropertyType; if (propertyType.GetTypeInfo().IsGenericType&& propertyType.GetGenericTypeDefinition() == typeof(Nullable <>)) { propertyType = Nullable.GetUnderlyingType(propertyType); } if (grid.TreeGridSettings.Enabled) { hashtable.Add(pi.Name, pi.GetValue(item, null)); } else if (grid.Columns.Find((CoreColumn c) => c.DataField == pi.Name) != null) { hashtable.Add(pi.Name, pi.GetValue(item, null)); } } list.Add(hashtable); } return(list); }
internal static string GetAttachEditorsFunction(CoreGrid grid, string editorType, string editorControlID) { List <string> listOfColumns = GetListOfColumns(grid); List <string> listOfEditors = GetListOfEditors(grid); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("function(el) {"); stringBuilder.Append("setTimeout(function() {"); stringBuilder.AppendFormat("var ec = '{0}';", editorControlID); if (editorType == "datepickerjquery") { stringBuilder.Append("if (typeof(jQuery(el).datepicker) !== 'function')"); stringBuilder.Append("alert('CoreDatePicker javascript not present on the page. Please, include jquery.jqDatePicker.min.js');"); stringBuilder.Append("jQuery(el).datepicker( eval(ec + '_dpid') );"); } if (editorType == "datepicker") { stringBuilder.Append(" $(el).datepicker({"); stringBuilder.Append("autoclose: true,"); stringBuilder.Append("format: 'dd.mm.yyyy',"); stringBuilder.Append("language: 'ru',"); stringBuilder.Append("weekStart: 1,"); stringBuilder.Append("orientation : 'bottom'"); stringBuilder.Append(" }).on('changeDate',function(e){setTimeout(function(){if ($(e.currentTarget).attr('searchoperators')=='true') $('#" + grid.ID + "')[0].triggerToolbar();}, 50);});"); } if (editorType == "autocomplete") { stringBuilder.Append("if (typeof(jQuery(el).autocomplete) !== 'function')"); stringBuilder.Append("alert('CoreAutoComplete javascript not present on the page. Please, include jquery.jqAutoComplete.min.js');"); stringBuilder.Append("jQuery(el).autocomplete( eval(ec + '_acid') );"); } stringBuilder.Append("},200);"); stringBuilder.Append("}"); return(stringBuilder.ToString()); }
private string GetToolBarOptions(CoreGrid grid, bool subGrid, string pagerSelectorID, string tableSelector) { StringBuilder stringBuilder = new StringBuilder(); if (grid.ShowToolBar) { JsonToolBar jsonToolBar = new JsonToolBar(grid.ToolBarSettings); if (!subGrid) { stringBuilder.AppendFormat("{7}.navGrid('#{0}',{1},{2},{3},{4},{5},{6} );", grid.ID + "_pager", JsonConvert.SerializeObject((object)jsonToolBar), $"jQuery('#{grid.ID}').getGridParam('editDialogOptions')", $"jQuery('#{grid.ID}').getGridParam('addDialogOptions')", $"jQuery('#{grid.ID}').getGridParam('delDialogOptions')", $"jQuery('#{grid.ID}').getGridParam('searchDialogOptions')", $"jQuery('#{grid.ID}').getGridParam('viewRowDialogOptions')", tableSelector); } else { stringBuilder.AppendFormat("{6}.navGrid('#' + pager_id,{0},{1},{2},{3},{4} );", JsonConvert.SerializeObject((object)jsonToolBar), "jQuery('#' + subgrid_table_id).getGridParam('editDialogOptions')", "jQuery('#' + subgrid_table_id).getGridParam('addDialogOptions')", "jQuery('#' + subgrid_table_id).getGridParam('delDialogOptions')", "jQuery('#' + subgrid_table_id).getGridParam('searchDialogOptions')", "jQuery('#' + subgrid_table_id).getGridParam('viewRowDialogOptions')", tableSelector); } foreach (CoreGridToolBarButton customButton in grid.ToolBarSettings.CustomButtons) { if (grid.ToolBarSettings.ToolBarPosition == ToolBarPosition.Bottom || grid.ToolBarSettings.ToolBarPosition == ToolBarPosition.TopAndBottom) { JsonCustomButton jsonCustomButton = new JsonCustomButton(customButton); stringBuilder.AppendFormat("{2}.navButtonAdd({0},{1});", pagerSelectorID, jsonCustomButton.Process(), tableSelector); } if (grid.ToolBarSettings.ToolBarPosition == ToolBarPosition.TopAndBottom || grid.ToolBarSettings.ToolBarPosition == ToolBarPosition.Top) { JsonCustomButton jsonCustomButton2 = new JsonCustomButton(customButton); stringBuilder.AppendFormat("{2}.navButtonAdd({0},{1});", pagerSelectorID.Replace("_pager", "_toppager"), jsonCustomButton2.Process(), tableSelector); } } return(stringBuilder.ToString()); } return(string.Empty); }
public HtmlString CoreGrid(CoreGrid grid, string id) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown CoreGridRenderer coreGridRenderer = new CoreGridRenderer(); grid.ID = id; return(new HtmlString(coreGridRenderer.RenderHtml(grid))); }
public static string RemoveQuotesForJavaScriptMethods(string input, CoreGrid grid) { string text = input; foreach (CoreColumn column in grid.Columns) { if (column.Formatter != null) { CoreGridColumnFormatter formatter = column.Formatter; if (formatter is CustomFormatter) { CustomFormatter customFormatter = (CustomFormatter)formatter; string oldValue = $"\"formatter\":\"{customFormatter.FormatFunction}\""; string newValue = $"\"formatter\":{customFormatter.FormatFunction}"; text = text.Replace(oldValue, newValue); oldValue = $"\"unformat\":\"{customFormatter.UnFormatFunction}\""; newValue = $"\"unformat\":{customFormatter.UnFormatFunction}"; text = text.Replace(oldValue, newValue); oldValue = $"\"cellattr\":\"{customFormatter.SetAttributesFunction}\""; newValue = $"\"cellattr\":{customFormatter.SetAttributesFunction}"; text = text.Replace(oldValue, newValue); } } foreach (CoreGridEditClientSideValidator editClientSideValidator in column.EditClientSideValidators) { if (editClientSideValidator is CustomValidator) { CustomValidator customValidator = (CustomValidator)editClientSideValidator; string oldValue2 = $"\"custom_func\":\"{customValidator.ValidationFunction}\""; string newValue2 = $"\"custom_func\":{customValidator.ValidationFunction}"; text = text.Replace(oldValue2, newValue2); } } if (column.EditType == EditType.Custom) { string oldValue3 = $"\"custom_element\":\"{column.EditTypeCustomCreateElement}\""; string newValue3 = $"\"custom_element\":{column.EditTypeCustomCreateElement}"; text = text.Replace(oldValue3, newValue3); oldValue3 = $"\"custom_value\":\"{column.EditTypeCustomGetValue}\""; newValue3 = $"\"custom_value\":{column.EditTypeCustomGetValue}"; text = text.Replace(oldValue3, newValue3); } if ((column.Editable && column.EditType == EditType.DatePicker) || column.EditType == EditType.AutoComplete) { string attachEditorsFunction = CoreGridUtil.GetAttachEditorsFunction(grid, column.EditType.ToString().ToLower(), column.EditorControlID); text = text.Replace("\"attachEditControlsScript" + column.DataField + "\"", attachEditorsFunction); text = text.Replace("\"dataInit\"", "dataInit"); } if ((column.Searchable && column.SearchType == SearchType.DatePicker) || column.SearchType == SearchType.AutoComplete) { string attachEditorsFunction2 = CoreGridUtil.GetAttachEditorsFunction(grid, column.SearchType.ToString().ToLower(), column.SearchControlID); text = text.Replace("\"attachSearchControlsScript" + column.DataField + "\"", attachEditorsFunction2); text = text.Replace("\"dataInit\"", "dataInit"); } } return(text); }
private string GetColNames(CoreGrid grid) { string[] array = new string[grid.Columns.Count]; for (int i = 0; i < grid.Columns.Count; i++) { CoreColumn coreColumn = grid.Columns[i]; array[i] = (string.IsNullOrEmpty(coreColumn.HeaderText) ? coreColumn.DataField : coreColumn.HeaderText); } return(JsonConvert.SerializeObject((object)array)); }
internal static List <string> GetListOfColumns(CoreGrid grid) { List <string> result = new List <string>(); grid.Columns.FindAll((CoreColumn c) => c.EditType == EditType.DatePicker || c.EditType == EditType.AutoComplete).ForEach(delegate(CoreColumn c) { Guard.IsNotNullOrEmpty(c.EditorControlID, "CoreGridColumn.EditorControlID", "must be set to the ID of the editing control control if EditType = DatePicker or EditType = AutoComplete"); result.Add(c.EditType.ToString().ToLower() + ":" + c.DataField); }); return(result); }
private string GetStartupJavascript(CoreGrid grid, bool subgrid) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<script type='text/javascript'>\n"); stringBuilder.Append("jQuery(document).ready(function() {"); stringBuilder.Append(GetStartupOptions(grid, subgrid)); stringBuilder.Append("});"); stringBuilder.Append("</script>"); return(stringBuilder.ToString()); }
public static int GetPrimaryKeyIndex(CoreGrid grid) { foreach (CoreColumn column in grid.Columns) { if (column.PrimaryKey) { return(grid.Columns.IndexOf(column)); } } return(0); }
private string GetFirstVisibleDataField(CoreGrid grid) { foreach (CoreColumn column in grid.Columns) { if (column.Visible) { return(column.DataField); } } return(grid.Columns[0].DataField); }
internal static List <string> GetListOfSearchEditors(CoreGrid grid) { List <string> result = new List <string>(); grid.Columns.FindAll((CoreColumn c) => c.SearchType == SearchType.DatePicker || c.SearchType == SearchType.AutoComplete).ForEach(delegate(CoreColumn c) { Guard.IsNotNullOrEmpty(c.SearchControlID, "CoreGridColumn.SearchControlID", "must be set to the ID of the searching control control if SearchType = DatePicker or SearchType = AutoComplete"); result.Add(c.SearchControlID); }); return(result); }
private string GetColModel(CoreGrid grid) { Hashtable[] array = new Hashtable[grid.Columns.Count]; for (int i = 0; i < grid.Columns.Count; i++) { JsonColModel jsonColModel = new JsonColModel(grid.Columns[i], grid); array[i] = jsonColModel.JsonValues; } string input = JsonConvert.SerializeObject((object)array); return(JsonColModel.RemoveQuotesForJavaScriptMethods(input, grid)); }
private string GetChildSubGridJavaScript(CoreGrid grid) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<script type='text/javascript'>\n"); stringBuilder.AppendFormat("function showSubGrid_{0}(subgrid_id, row_id, message, suffix) {{", grid.ID); stringBuilder.Append("var subgrid_table_id, pager_id;\r\n\t\t subgrid_table_id = subgrid_id+'_t';\r\n\t\t pager_id = 'p_'+ subgrid_table_id;\r\n if (suffix) { subgrid_table_id += suffix; pager_id += suffix; }\r\n if (message) jQuery('#'+subgrid_id).append(message); \r\n\t\t jQuery('#'+subgrid_id).append('<table id=' + subgrid_table_id + ' class=scroll></table><div id=' + pager_id + ' class=scroll></div>');\r\n "); stringBuilder.Append(GetStartupOptions(grid, subGrid: true)); stringBuilder.Append("}"); stringBuilder.Append("</script>"); return(stringBuilder.ToString()); }
public static Hashtable GetFooterInfo(CoreGrid grid) { Hashtable hashtable = new Hashtable(); if (grid.AppearanceSettings.ShowFooter) { foreach (CoreColumn column in grid.Columns) { hashtable[column.DataField] = column.FooterValue; } } return(hashtable); }
private string PreProcessJSON(CoreGrid grid, string gridJSON) { foreach (string key in grid.FunctionsHash.Keys) { string oldValue = $"\"{key}\":\"{grid.FunctionsHash[key]}\""; string newValue = $"\"{key}\":{grid.FunctionsHash[key]}"; gridJSON = gridJSON.Replace(oldValue, newValue); } foreach (string key2 in grid.ReplacementsHash.Keys) { gridJSON = gridJSON.Replace(key2, grid.ReplacementsHash[key2].ToString()); } return(gridJSON); }
private string GetHtmlTable(CoreGrid grid, List <Hashtable> data) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append( "<html><head><style> table, td {border:1px solid black} table { border-collapse:collapse; background:transparent}</style></head> "); stringBuilder.Append("<table>"); stringBuilder.Append("<tr>"); foreach (CoreColumn column in grid.Columns) { if (column.Visible) { string arg = string.IsNullOrEmpty(column.HeaderText) ? column.DataField : column.HeaderText; string sizeRowPx = column.ExcelWidthRowPx != 0 ? column.ExcelWidthRowPx + "px;" : ""; if (!string.IsNullOrWhiteSpace(sizeRowPx)) { stringBuilder.AppendFormat("<td style=\"width: {0}\">{1}</td>", sizeRowPx, arg); } else { stringBuilder.AppendFormat("<td>{0}</td>", arg); } } } stringBuilder.Append("</tr>"); for (int i = 0; i < data.Count; i++) { stringBuilder.Append("<tr>"); for (int j = 0; j < grid.Columns.Count; j++) { CoreColumn coreColumn = grid.Columns[j]; if (coreColumn.Visible) { string arg2 = (!string.IsNullOrEmpty(coreColumn.DataField) && !string.IsNullOrEmpty(coreColumn.DataFormatString)) ? coreColumn.FormatDataValue(data[i][coreColumn.DataField], coreColumn.HtmlEncode) : (data[i][coreColumn.DataField]?.ToString()); stringBuilder.AppendFormat("<td>{0}</td>", arg2); } } stringBuilder.Append("</tr>"); } stringBuilder.Append("</table>"); return(stringBuilder.ToString()); }
public static string GetWhereClause(CoreGrid grid, string searchField, string searchString, string searchOper) { string text = " && "; string text2 = ""; Hashtable hashtable = new Hashtable(); SearchArguments args = new SearchArguments { SearchColumn = searchField, SearchString = searchString, SearchOperation = GetSearchOperationFromString(searchOper) }; string str = (text2.Length > 0) ? text : ""; string str2 = ConstructLinqFilterExpression(grid, args); return(text2 + str + str2); }
public static string GetWhereClause(CoreGrid grid, string filters) { JsonMultipleSearch jsonMultipleSearch = JsonConvert.DeserializeObject <JsonMultipleSearch>(filters); string text = ""; foreach (MultipleSearchRule rule in jsonMultipleSearch.rules) { SearchArguments args = new SearchArguments { SearchColumn = rule.field, SearchString = rule.data, SearchOperation = GetSearchOperationFromString(rule.op) }; string str = (text.Length > 0) ? (" " + jsonMultipleSearch.groupOp + " ") : ""; text = text + str + ConstructLinqFilterExpression(grid, args); } return(text); }
public string RenderHtml(CoreGrid grid) { string text = "<table id='{0}'></table>"; if (grid.ToolBarSettings.ToolBarPosition != ToolBarPosition.Hidden) { text += "<div id='{0}_pager'></div>"; } //if (DateTime.Now > CompiledOn.CompilationDate.AddDays(45.0)) //{ // text = "Yes .This is a trial version of CoreGrid for ASP.NET MVC which has expired.<br> Please, contact [email protected] for purchasing the product or for trial extension."; // return text + File.GetCreationTime(Assembly.GetExecutingAssembly().Location).ToString(); //} if (string.IsNullOrEmpty(grid.ID)) { throw new Exception("You need to set ID for this grid."); } text = string.Format(text, grid.ID); return((grid.HierarchySettings.HierarchyMode != HierarchyMode.Child && grid.HierarchySettings.HierarchyMode != HierarchyMode.ParentAndChild) ? (text + GetStartupJavascript(grid, subgrid: false)) : (text + GetChildSubGridJavaScript(grid))); }
//internal static string ConstructLinqFilterExpression(CoreGrid grid, SearchArguments args) //{ // CoreColumn coreColumn = grid.Columns.Find((CoreColumn c) => c.DataField == args.SearchColumn); // if (coreColumn.DataType == null) // { // throw new DataTypeNotSetException("CoreGridColumn.DataType must be set in order to perform search operations."); // } // string filterExpressionCompare = ((coreColumn.DataType == typeof(string)) ? true : false) ? "{0} {1} \"{2}\"" : "{0} {1} {2}"; // if (coreColumn.DataType == typeof(DateTime)) // { // DateTime dateTime = DateTime.Parse(args.SearchString); // string str = $"({dateTime.Year},{dateTime.Month},{dateTime.Day})"; // filterExpressionCompare = "{0} {1} DateTime" + str; // } // string str2 = $"{args.SearchColumn} != null AND "; // return str2 + GetLinqExpression(filterExpressionCompare, args, coreColumn.SearchCaseSensitive, coreColumn.DataType); //} //private static string GetLinqExpression(string filterExpressionCompare, SearchArguments args, bool caseSensitive, Type dataType) //{ // string text = caseSensitive ? args.SearchString : args.SearchString.ToLower(); // string arg = args.SearchColumn; // if (dataType != null && dataType == typeof(string) && !caseSensitive) // { // arg = $"{args.SearchColumn}.ToLower()"; // } // switch (args.SearchOperation) // { // case SearchOperation.IsEqualTo: // return string.Format(filterExpressionCompare, arg, "=", text); // case SearchOperation.IsNotEqualTo: // return string.Format(filterExpressionCompare, arg, "<>", text); // case SearchOperation.IsLessOrEqualTo: // return string.Format(filterExpressionCompare, arg, "<=", text); // case SearchOperation.IsLessThan: // return string.Format(filterExpressionCompare, arg, "<", text); // case SearchOperation.IsGreaterOrEqualTo: // return string.Format(filterExpressionCompare, arg, ">=", text); // case SearchOperation.IsGreaterThan: // return string.Format(filterExpressionCompare, arg, ">", text); // case SearchOperation.BeginsWith: // return $"{arg}.StartsWith(\"{text}\")"; // case SearchOperation.Contains: // return $"{arg}.Contains(\"{text}\")"; // case SearchOperation.EndsWith: // return $"{arg}.EndsWith(\"{text}\")"; // case SearchOperation.DoesNotBeginWith: // return $"!{arg}.StartsWith(\"{text}\")"; // case SearchOperation.DoesNotContain: // return $"!{arg}.Contains(\"{text}\")"; // case SearchOperation.DoesNotEndWith: // return $"!{arg}.EndsWith(\"{text}\")"; // default: // throw new Exception("Invalid search operation."); // } //} #endregion #region Старая версия internal static string ConstructLinqFilterExpression(CoreGrid grid, SearchArguments args) { var column = grid.Columns.Find(c => c.DataField == args.SearchColumn); if (column.DataType == null) { throw new DataTypeNotSetException("CoreGridColumn.DataType must be set in order to perform search operations."); } if (!string.IsNullOrEmpty(column.SearchDataField)) { args.SearchColumn = column.SearchDataField; if (grid.Columns.Any(c => c.DataField == args.SearchColumn)) { return(ConstructLinqFilterExpression(grid, args)); } } string filterExpressionCompare = (column.DataType == typeof(string)) ? "{0} {1} \"{2}\"" : "{0} {1} {2}"; return(string.Format("{0} != null AND ", args.SearchColumn) + GetLinqExpression(filterExpressionCompare, args, column.SearchCaseSensitive, column.DataType)); }
public static string GetWhereClause(CoreGrid grid, Dictionary <string, string> queryString) { string text = " && "; string text2 = ""; Hashtable hashtable = new Hashtable(); foreach (CoreColumn column in grid.Columns) { if (queryString.TryGetValue(column.DataField, out string value)) { SearchArguments args = new SearchArguments { SearchColumn = column.DataField, SearchString = value, SearchOperation = column.SearchToolBarOperation }; string str = (text2.Length > 0) ? text : ""; string str2 = ConstructLinqFilterExpression(grid, args); text2 = text2 + str + str2; } } return(text2); }
private string GetViewRowOptions(CoreGrid grid) { JsonViewRowDialog jsonViewRowDialog = new JsonViewRowDialog(grid); return(jsonViewRowDialog.Process()); }
private string GetSearchOptions(CoreGrid grid) { JsonSearchDialog jsonSearchDialog = new JsonSearchDialog(grid); return(jsonSearchDialog.Process()); }
private string GetDelOptions(CoreGrid grid) { JsonDelDialog jsonDelDialog = new JsonDelDialog(grid); return(jsonDelDialog.Process()); }
public PivotDimension(CoreGrid grid) : this() { _functionsHash = grid.FunctionsHash; }
public JsonViewRowDialog(CoreGrid grid) { _jsonValues = new Hashtable(); _grid = grid; }
public JsonColModel(CoreColumn column, CoreGrid grid) : this(grid) { FromColumn(column); }
private string GetStartupOptions(CoreGrid grid, bool subGrid) { StringBuilder stringBuilder = new StringBuilder(); string text = subGrid ? "jQuery('#' + subgrid_table_id)" : $"jQuery('#{grid.ID}')"; string arg = subGrid ? "jQuery('#' + pager_id)" : string.Format("jQuery('#{0}')", grid.ID + "_pager"); string pagerSelectorID = subGrid ? "'#' + pager_id" : string.Format("'#{0}'", grid.ID + "_pager"); string text2 = subGrid ? "&parentRowID=' + row_id + '" : string.Empty; string text3 = (grid.DataUrl.IndexOf("?") > 0) ? "&" : "?"; string text4 = (grid.EditUrl.IndexOf("?") > 0) ? "&" : "?"; string text5 = $"{grid.DataUrl}{text3}jqGridID={grid.ID}{text2}"; string arg2 = $"{grid.EditUrl}{text4}jqGridID={grid.ID}&editMode=1{text2}"; if (grid.Columns.Count > 0 && grid.Columns[0].Frozen) { grid.AppearanceSettings.ShrinkToFit = false; } string value = $"{text}.jqGrid({{"; if (grid.PivotSettings.IsPivotEnabled()) { string arg3 = grid.PivotSettings.ToJSON(); value = $"{text}.jqGrid('jqPivot','{text5}',{arg3},{{"; } stringBuilder.Append(value); stringBuilder.AppendFormat("url: '{0}'", text5); stringBuilder.AppendFormat(",editurl: '{0}'", arg2); if (!string.IsNullOrEmpty(grid.IDPrefix)) { stringBuilder.AppendFormat(",idPrefix: '{0}'", grid.IDPrefix); } if (!grid.PivotSettings.IsPivotEnabled()) { stringBuilder.AppendFormat(",datatype: 'json'"); } stringBuilder.AppendFormat(",page: {0}", grid.PagerSettings.CurrentPage); if (!grid.PivotSettings.IsPivotEnabled()) { stringBuilder.AppendFormat(",colNames: {0}", GetColNames(grid)); stringBuilder.AppendFormat(",colModel: {0}", GetColModel(grid)); } stringBuilder.AppendFormat(",viewrecords: true"); stringBuilder.AppendFormatIfTrue(grid.AutoEncode, ",autoencode: true"); stringBuilder.AppendFormat(",scrollrows: {0}", grid.ScrollToSelectedRow.ToString().ToLower()); if (grid.SortSettings.MultiColumnSorting) { stringBuilder.AppendFormat(",multiSort: true"); } stringBuilder.AppendFormat(",prmNames: {{ id: \"{0}\" }}", Util.GetPrimaryKeyField(grid)); if (grid.AppearanceSettings.ShowFooter) { stringBuilder.Append(",footerrow: true"); stringBuilder.Append(",userDataOnFooter: true"); } if (!grid.AppearanceSettings.ShrinkToFit) { stringBuilder.Append(",shrinkToFit: false"); } stringBuilder.Append(",headertitles: true"); if (grid.ColumnReordering) { stringBuilder.Append(",sortable: true"); } if (grid.StoreNavigationOptions) { stringBuilder.Append(",storeNavOptions: true"); } if (grid.AppearanceSettings.ScrollBarOffset != 18) { stringBuilder.AppendFormat(",scrollOffset: {0}", grid.AppearanceSettings.ScrollBarOffset); } if (grid.AppearanceSettings.RightToLeft) { stringBuilder.Append(",direction: 'rtl'"); } if (grid.AutoWidth) { stringBuilder.Append(",autowidth: true"); } if (!grid.ShrinkToFit) { stringBuilder.Append(",shrinkToFit: false"); } if (grid.ToolBarSettings.ToolBarPosition == ToolBarPosition.Top) { stringBuilder.Append(",toppager: true"); } if (grid.ToolBarSettings.ToolBarPosition == ToolBarPosition.Bottom) { stringBuilder.AppendFormat(",pager: {0}", arg); } if (grid.ToolBarSettings.ToolBarPosition == ToolBarPosition.TopAndBottom) { stringBuilder.AppendFormat(",pager: {0}", arg); stringBuilder.Append(",toppager: true"); } if (grid.RenderingMode == RenderingMode.Optimized) { if (grid.HierarchySettings.HierarchyMode != 0) { throw new Exception("Optimized rendering is not compatible with hierarchy."); } stringBuilder.Append(",gridview: true"); } if (grid.HierarchySettings.HierarchyMode == HierarchyMode.Parent || grid.HierarchySettings.HierarchyMode == HierarchyMode.ParentAndChild) { stringBuilder.Append(",subGrid: true"); stringBuilder.AppendFormat(",subGridOptions: {0}", grid.HierarchySettings.ToJSON()); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.SubGridRowExpanded)) { stringBuilder.AppendFormat(",subGridRowExpanded: {0}", grid.ClientSideEvents.SubGridRowExpanded); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.ServerError)) { stringBuilder.AppendFormat(",errorCell: {0}", grid.ClientSideEvents.ServerError); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.RowSelect)) { stringBuilder.AppendFormat(",onSelectRow: {0}", grid.ClientSideEvents.RowSelect); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.ColumnSort)) { stringBuilder.AppendFormat(",onSortCol: {0}", grid.ClientSideEvents.ColumnSort); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.RowDoubleClick)) { stringBuilder.AppendFormat(",ondblClickRow: {0}", grid.ClientSideEvents.RowDoubleClick); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.RowRightClick)) { stringBuilder.AppendFormat(",onRightClickRow: {0}", grid.ClientSideEvents.RowRightClick); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.LoadDataError)) { stringBuilder.AppendFormat(",loadError: {0}", grid.ClientSideEvents.LoadDataError); } else { stringBuilder.AppendFormat(",loadError: {0}", "jqGrid_aspnet_loadErrorHandler"); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.GridInitialized)) { stringBuilder.AppendFormat(",gridComplete: {0}", grid.ClientSideEvents.GridInitialized); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.BeforeAjaxRequest)) { stringBuilder.AppendFormat(",beforeRequest: {0}", grid.ClientSideEvents.BeforeAjaxRequest); } if (!string.IsNullOrEmpty(grid.ClientSideEvents.AfterAjaxRequest)) { stringBuilder.AppendFormat(",loadComplete: {0}", grid.ClientSideEvents.AfterAjaxRequest); } stringBuilder.Append(",colMenu: true"); if (grid.TreeGridSettings.Enabled) { stringBuilder.AppendFormat(",treeGrid: true"); stringBuilder.AppendFormat(",treedatatype: 'json'"); stringBuilder.AppendFormat(",treeGridModel: 'adjacency'"); string arg4 = "{ level_field: 'tree_level', parent_id_field: 'tree_parent', leaf_field: 'tree_leaf', expanded_field: 'tree_expanded', loaded: 'tree_loaded', icon_field: 'tree_icon' }"; stringBuilder.AppendFormat(",treeReader: {0}", arg4); stringBuilder.AppendFormat(",ExpandColumn: '{0}'", GetFirstVisibleDataField(grid)); Hashtable hashtable = new Hashtable(); if (!string.IsNullOrEmpty(grid.TreeGridSettings.CollapsedIcon)) { hashtable.Add("plus", grid.TreeGridSettings.CollapsedIcon); } if (!string.IsNullOrEmpty(grid.TreeGridSettings.ExpandedIcon)) { hashtable.Add("minus", grid.TreeGridSettings.ExpandedIcon); } if (!string.IsNullOrEmpty(grid.TreeGridSettings.LeafIcon)) { hashtable.Add("leaf", grid.TreeGridSettings.LeafIcon); } if (hashtable.Count > 0) { stringBuilder.AppendFormat(",treeIcons: {0}", JsonConvert.SerializeObject((object)hashtable)); } } if (grid.LoadOnce) { stringBuilder.Append(",loadonce: true"); stringBuilder.Append(",ignoreCase: true"); } if (grid.ColumnMenu) { stringBuilder.Append(",colMenu: true"); } if (!grid.AppearanceSettings.HighlightRowsOnHover) { stringBuilder.Append(",hoverrows: false"); } if (grid.AppearanceSettings.AlternateRowBackground) { stringBuilder.Append(",altRows: true"); } if (grid.AppearanceSettings.ShowRowNumbers) { stringBuilder.Append(",rownumbers: true"); } if (grid.AppearanceSettings.RowNumbersColumnWidth != 25) { stringBuilder.AppendFormat(",rownumWidth: {0}", grid.AppearanceSettings.RowNumbersColumnWidth.ToString()); } if (grid.PagerSettings.ScrollBarPaging) { stringBuilder.AppendFormat(",scroll: 1"); } stringBuilder.AppendFormat(",rowNum: {0}", grid.PagerSettings.PageSize.ToString()); stringBuilder.AppendFormat(",rowList: {0}", grid.PagerSettings.PageSizeOptions.ToString()); if (!string.IsNullOrEmpty(grid.PagerSettings.NoRowsMessage)) { stringBuilder.AppendFormat(",emptyrecords: '{0}'", grid.PagerSettings.NoRowsMessage.ToString()); } if (grid.Responsive) { stringBuilder.Append(",responsive: true"); } if (grid.StyleUI != "jQueryUI") { stringBuilder.AppendFormat(",styleUI: '{0}'", grid.StyleUI); } stringBuilder.AppendFormat(",editDialogOptions: {0}", GetEditOptions(grid)); stringBuilder.AppendFormat(",addDialogOptions: {0}", GetAddOptions(grid)); stringBuilder.AppendFormat(",delDialogOptions: {0}", GetDelOptions(grid)); stringBuilder.AppendFormat(",searchDialogOptions: {0}", GetSearchOptions(grid)); stringBuilder.AppendFormat(",viewRowDialogOptions: {0}", GetViewRowOptions(grid)); string format = (!grid.TreeGridSettings.Enabled) ? ",jsonReader: {{ repeatitems:false,subgrid:{{repeatitems:false}} }}" : ",jsonReader: {{ id: \"{0}\", repeatitems:false,subgrid:{{repeatitems:false}} }}"; if (grid.PivotSettings.IsPivotEnabled()) { stringBuilder.Append(",jsonReader: { repeatitems:false,subgrid:{repeatitems:false} }"); } else { stringBuilder.AppendFormat(format, grid.Columns[Util.GetPrimaryKeyIndex(grid)].DataField); } if (!string.IsNullOrEmpty(grid.SortSettings.InitialSortColumn)) { stringBuilder.AppendFormat(",sortname: '{0}'", grid.SortSettings.InitialSortColumn); } stringBuilder.AppendFormat(",sortorder: '{0}'", grid.SortSettings.InitialSortDirection.ToString().ToLower()); if (grid.MultiSelect) { stringBuilder.Append(",multiselect: true"); if (grid.MultiSelectMode == MultiSelectMode.SelectOnCheckBoxClickOnly) { stringBuilder.AppendFormat(",multiboxonly: true", grid.MultiSelect.ToString().ToLower()); } if (grid.MultiSelectKey != 0) { stringBuilder.AppendFormat(",multikey: '{0}'", GetMultiKeyString(grid.MultiSelectKey)); } } if (!string.IsNullOrEmpty(grid.AppearanceSettings.Caption)) { stringBuilder.AppendFormat(",caption: '{0}'", grid.AppearanceSettings.Caption); } if (grid.AppearanceSettings.HiddenGrid) { stringBuilder.Append(",hiddengrid:true"); } if (!grid.AppearanceSettings.ShowHideGridCaptionButton) { stringBuilder.Append(",hidegrid:false"); } if (!string.IsNullOrEmpty(grid.Width)) { stringBuilder.AppendFormat(",width: '{0}'", grid.Width.ToString().Replace("px", "")); } if (!string.IsNullOrEmpty(grid.Height)) { stringBuilder.AppendFormat(",height: '{0}'", grid.Height.ToString().Replace("px", "")); } if (!string.IsNullOrEmpty(grid.PostData)) { stringBuilder.AppendFormat(",postData: {0}", grid.PostData); } if (grid.GroupSettings.GroupFields.Count > 0) { stringBuilder.Append(grid.GroupSettings.ToJSON()); } stringBuilder.AppendFormat(",viewsortcols: [{0},'{1}',{2}]", "false", grid.SortSettings.SortIconsPosition.ToString().ToLower(), (grid.SortSettings.SortAction == SortAction.ClickOnHeader) ? "true" : "false"); stringBuilder.AppendFormat("}})\r"); stringBuilder.Append(";"); stringBuilder.Append(GetLoadErrorHandler()); stringBuilder.Append(";"); if (grid.PivotSettings.IsPivotEnabled()) { stringBuilder.AppendFormat("{0}.bind('jqGridInitGrid.pivotGrid',(function(){{", text); } if (!grid.PagerSettings.ScrollBarPaging && grid.EnableKeyboardNavigation) { stringBuilder.AppendFormat("{0}.bindKeys();", text); } stringBuilder.Append(GetToolBarOptions(grid, subGrid, pagerSelectorID, text)); if (grid.PivotSettings.IsPivotEnabled()) { stringBuilder.Append("}));"); } if (grid.HeaderGroups.Count > 0) { List <Hashtable> list = new List <Hashtable>(); foreach (CoreGridHeaderGroup headerGroup in grid.HeaderGroups) { list.Add(headerGroup.ToHashtable()); } stringBuilder.AppendFormat("{0}.setGroupHeaders( {{ useColSpanStyle:true,groupHeaders:{1} }});", text, JsonConvert.SerializeObject((object)list)); } if (grid.ToolBarSettings.ShowSearchToolBar) { stringBuilder.AppendFormat("{0}.filterToolbar({1});", text, new JsonSearchToolBar(grid).Process()); } if (grid.Columns.Count > 0 && grid.Columns[0].Frozen) { stringBuilder.AppendFormat("{0}.setFrozenColumns();", text); } return(PreProcessJSON(grid, stringBuilder.ToString())); }
public JsonColModel(CoreGrid grid) { _jsonValues = new Hashtable(); _grid = grid; }