示例#1
0
 public Searching(JQGrid grid, string searchColumn, string searchString, string searchOperation)
 {
     this._grid = grid;
     this._searchColunm = searchColumn;
     this._searchString = searchString;
     this._searchOperation = searchOperation;
 }
示例#2
0
 internal static List<string> GetListOfColumns(JQGrid grid)
 {
     List<string> result = new List<string>();
     grid.Columns.AsList().FindAll((JQGridColumn c) => c.EditType == EditType.DatePicker || c.EditType == EditType.AutoComplete).ForEach(delegate(JQGridColumn c)
     {
         Guard.IsNullOrEmpty(c.EditorControlID, "JQGridColumn.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;
 }
示例#3
0
 internal static List<string> GetListOfSearchEditors(JQGrid grid)
 {
     List<string> result = new List<string>();
     grid.Columns.AsList().FindAll((JQGridColumn c) => c.SearchType == SearchType.DatePicker || c.SearchType == SearchType.AutoComplete).ForEach(delegate(JQGridColumn c)
     {
         Guard.IsNullOrEmpty(c.SearchControlID, "JQGridColumn.SearchControlID", "must be set to the ID of the searching control control if SearchType = DatePicker or SearchType = AutoComplete");
         result.Add(c.SearchControlID);
     });
     return result;
 }
示例#4
0
 public static int GetPrimaryKeyIndex(JQGrid grid)
 {
     foreach (JQGridColumn jQGridColumn in grid.Columns)
     {
         if (jQGridColumn.PrimaryKey)
         {
             return grid.Columns.IndexOf(jQGridColumn);
         }
     }
     return 0;
 }
示例#5
0
 public static Hashtable GetFooterInfo(JQGrid grid)
 {
     Hashtable hashtable = new Hashtable();
     if (grid.AppearanceSettings.ShowFooter)
     {
         foreach (JQGridColumn jQGridColumn in grid.Columns)
         {
             hashtable[jQGridColumn.DataField] = jQGridColumn.FooterValue;
         }
     }
     return hashtable;
 }
示例#6
0
 internal static string ConvertToJson(JsonResponse response, JQGrid grid, DataTable dt)
 {
     object obj;
     if (response.records == 0)
     {
         obj = new object[0];
     }
     else
     {
         obj = Util.PrepareJsonResponse(response, grid, dt);
     }
     return new JavaScriptSerializer().Serialize(obj);
 }
 public static DataTable ToDataTable(this IEnumerable en, JQGrid grid)
 {
     DataTable result = new DataTable();
     DataView dataView = en as DataView;
     if (dataView != null)
     {
         result = dataView.ToTable();
     }
     else
     {
         if (en != null)
         {
             result = IEnumerableExtensions.ObtainDataTableFromIEnumerable(en, grid);
         }
     }
     return result;
 }
示例#8
0
 public static string GetWhereClause(JQGrid grid)
 {
     string text = " && ";
     string text2 = "";
     new Hashtable();
     foreach (JQGridColumn jQGridColumn in grid.Columns)
     {
         string text3 = HttpContext.Current.Request[jQGridColumn.DataField];
         if (!string.IsNullOrEmpty(text3))
         {
             Util.SearchArguments args = new Util.SearchArguments
             {
                 SearchColumn = jQGridColumn.DataField,
                 SearchString = text3,
                 SearchOperation = jQGridColumn.SearchToolBarOperation
             };
             string str = (text2.Length > 0) ? text : "";
             string str2 = Util.ConstructLinqFilterExpression(args);
             text2 = text2 + str + str2;
         }
     }
     return text2;
 }
 public JsonSearchToolBar(JQGrid grid)
 {
     this._jsonValues = new Hashtable();
     this._grid = grid;
 }
示例#10
0
 internal static JsonResponse PrepareJsonResponse(JsonResponse response, JQGrid grid, DataTable dt)
 {
     for (int i = 0; i < dt.Rows.Count; i++)
     {
         string[] array = new string[grid.Columns.Count];
         for (int j = 0; j < grid.Columns.Count; j++)
         {
             JQGridColumn jQGridColumn = grid.Columns[j];
             string text = "";
             if (!string.IsNullOrEmpty(jQGridColumn.DataField))
             {
                 Guard.IsNull(dt.Columns[jQGridColumn.DataField], "The column with DataField=" + jQGridColumn.DataField + " does not exist in the datasource.");
                 int ordinal = dt.Columns[jQGridColumn.DataField].Ordinal;
                 text = (string.IsNullOrEmpty(jQGridColumn.DataFormatString) ? dt.Rows[i].ItemArray[ordinal].ToString() : jQGridColumn.FormatDataValue(dt.Rows[i].ItemArray[ordinal], jQGridColumn.HtmlEncode));
             }
             array[j] = text;
         }
         string text2 = array[Util.GetPrimaryKeyIndex(grid)];
         for (int k = 0; k < grid.Columns.Count; k++)
         {
             JQGridCellBindEventArgs jQGridCellBindEventArgs = new JQGridCellBindEventArgs(array[k], k, i, text2, dt.Rows[i].ItemArray);
             grid.OnCellBinding(jQGridCellBindEventArgs);
             array[k] = jQGridCellBindEventArgs.CellHtml;
             grid.OnCellBound(jQGridCellBindEventArgs);
         }
         JsonRow jsonRow = new JsonRow();
         jsonRow.id = text2;
         jsonRow.cell = array;
         response.rows[i] = jsonRow;
     }
     return response;
 }
示例#11
0
 internal static string ConvertToTreeJson(JsonTreeResponse response, JQGrid grid, DataTable dt)
 {
     object obj = Util.PrepareJsonTreeResponse(response, grid, dt);
     return new JavaScriptSerializer().Serialize(obj);
 }
示例#12
0
 public JsonColModel(JQGrid grid)
 {
     this._jsonValues = new Hashtable();
     this._grid = grid;
 }
示例#13
0
 public JQGridRenderer(JQGrid grid)
 {
     this._grid = grid;
 }
示例#14
0
 public JsonDelDialog(JQGrid grid)
 {
     this._jsonValues = new Hashtable();
     this._grid = grid;
 }
示例#15
0
 public MultipleSearching(JQGrid grid, string searchFilters)
     : base(grid)
 {
     this._grid = grid;
     this._searchFilters = searchFilters;
 }
 private static DataTable ObtainDataTableFromIEnumerable(IEnumerable ien, JQGrid grid)
 {
     DataTable dataTable = new DataTable();
     foreach (object current in ien)
     {
         if (current is DbDataRecord)
         {
             DbDataRecord dbDataRecord = current as DbDataRecord;
             if (dataTable.Columns.Count == 0)
             {
                 foreach (JQGridColumn jQGridColumn in grid.Columns)
                 {
                     dataTable.Columns.Add(jQGridColumn.DataField);
                 }
             }
             DataRow dataRow = dataTable.NewRow();
             foreach (JQGridColumn jQGridColumn2 in grid.Columns)
             {
                 dataRow[jQGridColumn2.DataField] = dbDataRecord[jQGridColumn2.DataField];
             }
             dataTable.Rows.Add(dataRow);
         }
         else
         {
             if (current is DataRow)
             {
                 DataRow dataRow2 = current as DataRow;
                 if (dataTable.Columns.Count == 0)
                 {
                     foreach (JQGridColumn jQGridColumn3 in grid.Columns)
                     {
                         dataTable.Columns.Add(jQGridColumn3.DataField);
                     }
                 }
                 DataRow dataRow3 = dataTable.NewRow();
                 foreach (JQGridColumn jQGridColumn4 in grid.Columns)
                 {
                     dataRow3[jQGridColumn4.DataField] = dataRow2[jQGridColumn4.DataField];
                 }
                 dataTable.Rows.Add(dataRow3);
             }
             else
             {
                 Type type = current.GetType();
                 PropertyInfo[] properties = type.GetProperties();
                 if (dataTable.Columns.Count == 0)
                 {
                     PropertyInfo[] array = properties;
                     for (int i = 0; i < array.Length; i++)
                     {
                         PropertyInfo propertyInfo = array[i];
                         Type type2 = propertyInfo.PropertyType;
                         if (type2.IsGenericType && type2.GetGenericTypeDefinition() == typeof(Nullable<>))
                         {
                             type2 = Nullable.GetUnderlyingType(type2);
                         }
                         dataTable.Columns.Add(propertyInfo.Name, type2);
                     }
                 }
                 DataRow dataRow4 = dataTable.NewRow();
                 PropertyInfo[] array2 = properties;
                 for (int j = 0; j < array2.Length; j++)
                 {
                     PropertyInfo propertyInfo2 = array2[j];
                     object value = propertyInfo2.GetValue(current, null);
                     if (value != null)
                     {
                         dataRow4[propertyInfo2.Name] = value;
                     }
                     else
                     {
                         dataRow4[propertyInfo2.Name] = DBNull.Value;
                     }
                 }
                 dataTable.Rows.Add(dataRow4);
             }
         }
     }
     return dataTable;
 }
示例#17
0
 public JsonColModel(JQGridColumn column, JQGrid grid)
     : this(grid)
 {
     this.FromColumn(column);
 }
示例#18
0
 public static string RemoveQuotesForJavaScriptMethods(string input, JQGrid grid)
 {
     string text = input;
     foreach (JQGridColumn jQGridColumn in grid.Columns)
     {
         if (jQGridColumn.Formatter != null && jQGridColumn.Formatter.Count > 0 && jQGridColumn.Formatter[0] != null)
         {
             JQGridColumnFormatter jQGridColumnFormatter = jQGridColumn.Formatter[0];
             if (jQGridColumnFormatter is CustomFormatter)
             {
                 CustomFormatter customFormatter = (CustomFormatter)jQGridColumnFormatter;
                 string oldValue = string.Format("\"formatter\":\"{0}\"", customFormatter.FormatFunction);
                 string newValue = string.Format("\"formatter\":{0}", customFormatter.FormatFunction);
                 text = text.Replace(oldValue, newValue);
                 oldValue = string.Format("\"unformat\":\"{0}\"", customFormatter.UnFormatFunction);
                 newValue = string.Format("\"unformat\":{0}", customFormatter.UnFormatFunction);
                 text = text.Replace(oldValue, newValue);
             }
         }
         foreach (JQGridEditClientSideValidator jQGridEditClientSideValidator in jQGridColumn.EditClientSideValidators)
         {
             if (jQGridEditClientSideValidator is CustomValidator)
             {
                 CustomValidator customValidator = (CustomValidator)jQGridEditClientSideValidator;
                 string oldValue2 = string.Format("\"custom_func\":\"{0}\"", customValidator.ValidationFunction);
                 string newValue2 = string.Format("\"custom_func\":{0}", customValidator.ValidationFunction);
                 text = text.Replace(oldValue2, newValue2);
             }
         }
         if (jQGridColumn.EditType == EditType.Custom)
         {
             string oldValue3 = string.Format("\"custom_element\":\"{0}\"", jQGridColumn.EditTypeCustomCreateElement);
             string newValue3 = string.Format("\"custom_element\":{0}", jQGridColumn.EditTypeCustomCreateElement);
             text = text.Replace(oldValue3, newValue3);
             oldValue3 = string.Format("\"custom_value\":\"{0}\"", jQGridColumn.EditTypeCustomGetValue);
             newValue3 = string.Format("\"custom_value\":{0}", jQGridColumn.EditTypeCustomGetValue);
             text = text.Replace(oldValue3, newValue3);
         }
         if ((jQGridColumn.Editable && jQGridColumn.EditType == EditType.DatePicker) || jQGridColumn.EditType == EditType.AutoComplete)
         {
             string attachEditorsFunction = GridUtil.GetAttachEditorsFunction(grid, jQGridColumn.EditType.ToString().ToLower(), jQGridColumn.EditorControlID);
             text = text.Replace(string.Concat(new object[]
             {
                 '"',
                 "attachEditControlsScript",
                 jQGridColumn.DataField,
                 '"'
             }), attachEditorsFunction);
             text = text.Replace('"' + "dataInit" + '"', "dataInit");
         }
         if ((jQGridColumn.Searchable && jQGridColumn.SearchType == SearchType.DatePicker) || jQGridColumn.SearchType == SearchType.AutoComplete)
         {
             string attachEditorsFunction2 = GridUtil.GetAttachEditorsFunction(grid, jQGridColumn.SearchType.ToString().ToLower(), jQGridColumn.SearchControlID);
             text = text.Replace(string.Concat(new object[]
             {
                 '"',
                 "attachSearchControlsScript",
                 jQGridColumn.DataField,
                 '"'
             }), attachEditorsFunction2);
             text = text.Replace('"' + "dataInit" + '"', "dataInit");
         }
     }
     return text;
 }
示例#19
0
 public ToolBarSearching(JQGrid grid)
     : base(grid)
 {
     this._grid = grid;
 }
示例#20
0
 internal static JsonTreeResponse PrepareJsonTreeResponse(JsonTreeResponse response, JQGrid grid, DataTable dt)
 {
     for (int i = 0; i < dt.Rows.Count; i++)
     {
         response.rows[i] = new Hashtable();
         for (int j = 0; j < grid.Columns.Count; j++)
         {
             JQGridColumn jQGridColumn = grid.Columns[j];
             string value = "";
             if (!string.IsNullOrEmpty(jQGridColumn.DataField))
             {
                 Guard.IsNull(dt.Columns[jQGridColumn.DataField], "The column with DataField=" + jQGridColumn.DataField + " does not exist in the datasource.");
                 int ordinal = dt.Columns[jQGridColumn.DataField].Ordinal;
                 value = (string.IsNullOrEmpty(jQGridColumn.DataFormatString) ? dt.Rows[i].ItemArray[ordinal].ToString() : jQGridColumn.FormatDataValue(dt.Rows[i].ItemArray[ordinal], jQGridColumn.HtmlEncode));
             }
             response.rows[i].Add(jQGridColumn.DataField, value);
         }
         try
         {
             response.rows[i].Add("tree_level", dt.Rows[i]["tree_level"] as int?);
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_parent", Convert.ToString(dt.Rows[i]["tree_parent"]));
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_leaf", Convert.ToBoolean(dt.Rows[i]["tree_leaf"]));
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_expanded", Convert.ToBoolean(dt.Rows[i]["tree_expanded"]));
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_loaded", Convert.ToBoolean(dt.Rows[i]["tree_loaded"]));
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_icon", Convert.ToString(dt.Rows[i]["tree_icon"]));
         }
         catch
         {
         }
     }
     return response;
 }
示例#21
0
 private string GetFirstVisibleDataField(JQGrid grid)
 {
     foreach (JQGridColumn jQGridColumn in grid.Columns)
     {
         if (jQGridColumn.Visible)
         {
             return jQGridColumn.DataField;
         }
     }
     return grid.Columns[0].DataField;
 }
示例#22
0
 public static string GetPrimaryKeyField(JQGrid grid)
 {
     int primaryKeyIndex = Util.GetPrimaryKeyIndex(grid);
     return grid.Columns[primaryKeyIndex].DataField;
 }
 public JsonViewRowDetailsDialog(JQGrid grid)
 {
     this._jsonValues = new Hashtable();
     this._grid = grid;
 }
示例#24
0
 public BaseSearching(JQGrid grid)
 {
     this._grid = grid;
 }
示例#25
-1
 internal static string GetAttachEditorsFunction(JQGrid grid, string editorType, string editorControlID)
 {
     new JavaScriptSerializer();
     GridUtil.GetListOfColumns(grid);
     GridUtil.GetListOfEditors(grid);
     StringBuilder stringBuilder = new StringBuilder();
     stringBuilder.Append("function(el) {");
     stringBuilder.Append("setTimeout(function() {");
     stringBuilder.AppendFormat("var ec = '{0}';", editorControlID);
     if (editorType == "datepicker")
     {
         stringBuilder.Append("if (typeof(jQuery(el).datepicker) !== 'function')");
         stringBuilder.Append("alert('JQDatePicker javascript not present on the page. Please, include jquery.jqDatePicker.min.js');");
         stringBuilder.Append("jQuery(el).datepicker( eval(ec + '_dpid') );");
     }
     if (editorType == "autocomplete")
     {
         stringBuilder.Append("if (typeof(jQuery(el).autocomplete) !== 'function')");
         stringBuilder.Append("alert('JQAutoComplete 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();
 }