Ejemplo n.º 1
0
        /// <summary>
        /// 生产表头 Json 对象
        /// </summary>
        /// <param name="_PagingEntity"></param>
        /// <param name="ArryEntity"></param>
        private void SetHeaderJson(PagingEntity _PagingEntity, params BaseClass[] ArryEntity)
        {
            var dic      = new Dictionary <string, object>();
            var list     = new List <PropertyInfo>();
            var colNames = new List <Dictionary <string, string> >();

            ArryEntity.ToList().ForEach(item =>
            {
                //将所有实体里面的属性放入list中
                item.GetType().GetProperties().ToList().ForEach(p =>
                {
                    list.Add(p);
                });
            });
            foreach (DataColumn dc in _PagingEntity.Table.Columns)
            {
                dic = new Dictionary <string, object>();
                var col = new Dictionary <string, string>();
                var pro = list.Find(item => item.Name.Equals(dc.ColumnName));

                dic["field"]    = dc.ColumnName;
                dic["align"]    = "left";
                dic["sortable"] = true;
                if (pro == null)
                {
                    dic["title"]   = dc.ColumnName;
                    dic["visible"] = !dc.ColumnName.Equals("_ukid");
                    col.Add(dc.ColumnName, dc.ColumnName);
                }
                else
                {
                    //获取有特性标记的属性【获取字段别名(中文名称)】
                    var FiledConfig = pro.GetCustomAttribute(typeof(FieldAttribute)) as FieldAttribute;
                    if (FiledConfig != null)
                    {
                        dic["title"]   = (FiledConfig.Alias == "" ? dc.ColumnName : FiledConfig.Alias);
                        dic["visible"] = true;
                        col.Add(dc.ColumnName, dic["title"].ToStr());
                    }
                }
                _PagingEntity.ColNames.Add(col);
                _PagingEntity.ColModel.Add(dic);
            }
        }
Ejemplo n.º 2
0
        public Sys_PagingEntity NewPagingEntity(Sys_PagingEntity pe, params object[] ArryEntity)
        {
            var dic      = new Dictionary <string, object>();
            var list     = new List <PropertyInfo>();
            var colNames = new List <Dictionary <string, string> >();

            ArryEntity.ToList().ForEach(item =>
            {
                //将所有实体里面的属性放入list中
                ReflexHelper.GetPropertyInfos(item.GetType()).ToList().ForEach(p =>
                {
                    list.Add(p);
                });
            });
            foreach (DataColumn dc in pe.Table.Columns)
            {
                dic = new Dictionary <string, object>();
                var col = new Dictionary <string, string>();
                var pro = list.Find(item => item.Name.Equals(dc.ColumnName));

                dic["field"] = dc.ColumnName;
                dic["align"] = "left";
                if (pro == null)
                {
                    dic["title"]   = dc.ColumnName;
                    dic["visible"] = !dc.ColumnName.Equals("_ukid");
                    col.Add(dc.ColumnName, dc.ColumnName);
                }
                else
                {
                    //获取有特性标记的属性【获取字段别名(中文名称)】
                    var FiledConfig = pro.GetCustomAttribute(typeof(FieldAttribute)) as FieldAttribute;
                    dic["title"]   = (FiledConfig.Alias == "" ? dc.ColumnName : FiledConfig.Alias);
                    dic["visible"] = true;
                    col.Add(dc.ColumnName, dic["title"].ToStr());
                }
                pe.ColNames.Add(col);
                pe.ColModel.Add(dic);
            }

            return(pe);
        }