Exemplo n.º 1
0
 internal static JsonTreeResponse PrepareJsonTreeResponse(JsonTreeResponse response, JQGrid grid, DataTable dt, IQueryable data = null)
 {
     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))
             {
                 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
         {
             object obj = dt.Rows[i]["tree_parent"];
             string value2;
             if (obj is DBNull)
             {
                 value2 = "null";
             }
             else
             {
                 value2 = Convert.ToString(dt.Rows[i]["tree_parent"]);
             }
             response.rows[i].Add("tree_parent", value2);
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_leaf", dt.Rows[i]["tree_leaf"] as bool?);
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_expanded", dt.Rows[i]["tree_expanded"] as bool?);
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_loaded", dt.Rows[i]["tree_loaded"] as bool?);
         }
         catch
         {
         }
         try
         {
             response.rows[i].Add("tree_icon", dt.Rows[i]["tree_icon"] as string);
         }
         catch
         {
         }
     }
     return(response);
 }
Exemplo n.º 2
0
        private static string BindValue(string DataField, object data, PropertyInfo[] properties, JQGridColumn column)
        {
            if (string.IsNullOrEmpty(DataField))
            {
                return("");
            }
            PropertyInfo prop;

            if (DataField.IndexOf('.') > -1)
            {
                int    index     = DataField.IndexOf('.');
                string PropField = DataField.Substring(0, index);
                index++;
                string NewDataField = DataField.Substring(index, DataField.Length - index);
                prop = properties.Where(p => p.Name.ToLower().Equals(PropField.ToLower())).FirstOrDefault();
                PropertyInfo[] NewProperties = prop.PropertyType.GetProperties(BindingFlags.Instance | BindingFlags.Public);
                object         val           = prop.GetValue(data, null);
                return(BindValue(NewDataField, val, NewProperties, column));
            }
            else
            {
                prop = properties.Where(p => p.Name.ToLower().Equals(DataField.ToLower())).FirstOrDefault();
            }
            if (prop != null)
            {
                if (data == null)
                {
                    return("");
                }
                if (prop.GetValue(data, null) != null)
                {
                    object val  = prop.GetValue(data, null);
                    string text = (string.IsNullOrEmpty(column.DataFormatString) ? val.ToString() : column.FormatDataValue(val, column.HtmlEncode));
                    return(text);
                }
                else
                {
                    return("");
                }
            }
            return("");
        }
Exemplo n.º 3
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))
             {
                 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  id      = array[Util.GetPrimaryKeyIndex(grid)];
         JsonRow jsonRow = new JsonRow();
         jsonRow.id       = id;
         jsonRow.cell     = array;
         response.rows[i] = jsonRow;
     }
     return(response);
 }