Exemple #1
0
        public static MDataTable Check(string objName, string objCode, MDataTable dt)
        {
#if DEBUG
            MDataTable newDt = dt.GetSchema(false);
            FillTable(objName, objCode, newDt);//重新获取。

            MDataTable addTable   = dt.GetSchema(false);
            bool       needUpdate = false;
            foreach (MDataRow row in newDt.Rows)
            {
                MDataRow mr = dt.FindRow(string.Format("Field='{0}'", row.Get <string>("Field")));
                if (mr == null)//找不到,则添加行
                {
                    row.Set("Hidden", true);
                    addTable.Rows.Add(row);
                }
                else if (mr["Field"].ToString() == mr["Title"].ToString()) // 找到,则试图设置中文名称。
                {
                    mr.Set("Title", row.Get <string>("Title"));
                    needUpdate = true;
                }
            }

            if (addTable.Rows.Count > 0)
            {
                addTable.AcceptChanges(AcceptOp.Auto, null, "ObjName", "Field");
            }
            if (needUpdate)
            {
                dt.AcceptChanges(AcceptOp.Update);
            }
#endif
            return(dt);
        }
Exemple #2
0
        /// <summary>
        /// 获取表的列头数据(输出EasyUI的列头格式)
        /// </summary>
        public virtual void GetHeader()
        {
            MDataTable dt = GridConfig.GetList(ObjName, GridConfig.SelectType.All);

            if (dt == null || dt.Rows.Count == 0)
            {
                dt = GridConfig.Create(ObjName, ObjCode, dt.GetSchema(false));
                if (p.UrlMenuID != string.Empty && dt.Rows.Count > 0)//仅处理配置了菜单的数据。
                {
                    //顺带处理视图语句与菜单名称的绑定
                    KeyValueConfig.SetTableDescription(ObjName, p.MenuName);
                }
            }
            if (Query <string>("reflesh") == "1")//刷新表结构
            {
                string msg;
                bool   result = GridConfig.Flesh(ObjName, ObjCode, dt, out msg);
                jsonResult = JsonHelper.OutResult(result, msg);
            }
            else if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    dt.Rows[i][Config_Grid.Field].Value = dt.Rows[i].Get <string>(Config_Grid.Field).ToLower();
                }
                jsonResult = dt.ToJson(false, false, RowOp.None, true);
            }
            else
            {
                string err = dt.DynamicData != null?dt.DynamicData.ToString() : "Init Column Header Fail!";

                jsonResult = JsonHelper.OutResult(false, err);
            }
        }
Exemple #3
0
        /// <summary>
        /// 获取表的列头数据(输出EasyUI的列头格式)
        /// </summary>
        public void GetHeader()
        {
            MDataTable dt = GridConfig.GetList(ObjName, GridConfig.SelectType.All);

            if (dt == null || dt.Rows.Count == 0)
            {
                dt = GridConfig.Create(ObjName, ObjCode, dt.GetSchema(false));
                if (p.UrlMenuID != string.Empty)//仅处理配置了菜单的数据。
                {
                    //顺带处理视图语句与菜单名称的绑定
                    KeyValueConfig.SetTableDescription(ObjName, p.MenuName);
                }
            }
            else
            {
                //dt = GridConfig.Check(ObjName,ObjCode, dt);
            }
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    dt.Rows[i][Config_Grid.Field].Value = dt.Rows[i].Get <string>(Config_Grid.Field).ToLower();
                }
                jsonResult = dt.ToJson(false, false, true);
            }
            else
            {
                jsonResult = JsonHelper.OutResult(false, "Init Column Header Fail!");
            }
        }
Exemple #4
0
        /// <summary>
        /// 数据结构行刷新
        /// </summary>
        /// <param name="objName"></param>
        /// <param name="objCode"></param>
        /// <param name="dt">原有数据</param>
        /// <returns></returns>
        public static bool Flesh(string objName, string objCode, MDataTable dt, out string msg)
        {
            bool result = false;

            msg = LangConst.NoNewColumn;
            MDataTable newDt = dt.GetSchema(false);
            //移除表结构缓存
            string tableKey = CacheManage.GetKey(CacheKeyType.Schema, objName);
            string codeKey  = CacheManage.GetKey(CacheKeyType.Schema, objCode);

            CacheManage.LocalInstance.Remove(tableKey);
            CacheManage.LocalInstance.Remove(codeKey);
            if (!string.IsNullOrEmpty(AppConfig.DB.SchemaMapPath))
            {
                IOHelper.Delete(AppConfig.RunPath + AppConfig.DB.SchemaMapPath + tableKey + ".ts");
                IOHelper.Delete(AppConfig.RunPath + AppConfig.DB.SchemaMapPath + codeKey + ".ts");
            }
            FillTable(objName, objCode, newDt);//重新获取。

            MDataTable addTable = dt.GetSchema(false);

            // bool needUpdate = false;
            foreach (MDataRow row in newDt.Rows)
            {
                MDataRow mr = dt.FindRow(string.Format("Field='{0}'", row.Get <string>("Field")));
                if (mr == null)//找不到,则添加行
                {
                    row.Set(Config_Grid.OrderNum, 255);
                    row.Set(Config_Grid.Hidden, true);
                    row.Set(Config_Grid.GridID, Guid.NewGuid());
                    addTable.Rows.Add(row);
                }
            }

            if (addTable.Rows.Count > 0)
            {
                result = addTable.AcceptChanges(AcceptOp.InsertWithID);
                if (!result)
                {
                    msg = Convert.ToString((Exception)addTable.DynamicData);
                }
            }

            return(result);
        }
Exemple #5
0
        /// <summary>
        /// 获取表的列头数据(输出EasyUI的列头格式)
        /// </summary>
        public void GetHeader()
        {
            MDataTable dt = GridConfig.GetList(ObjName, GridConfig.SelectType.All);

            if (dt == null || dt.Rows.Count == 0)
            {
                dt = GridConfig.Create(ObjCode, dt.GetSchema(false));
            }
            else
            {
                //dt = GridConfig.Check(ObjCode, dt);
            }
            //顺带处理视图语句与菜单名称的绑定
            KeyValueConfig.SetTableDescription(ObjName, p.MenuName);
            jsonResult = dt.ToJson(false, false, true);
        }
Exemple #6
0
        private void btnRemove_Click(object sender, EventArgs e)
        {
            MDataTable delDt = dt.GetSchema(false);

            for (int i = 0; i < dgView.Rows.Count; i++)
            {
                if (Convert.ToString(dgView.Rows[i].Cells[0].Value) == "True")
                {
                    dgView.Rows.RemoveAt(i);
                    delDt.NewRow(true).LoadFrom(dt.Rows[i]);
                }
            }
            dgView.Refresh();
            delDt.AcceptChanges(AcceptOp.Delete);
            delDt.AcceptChanges(AcceptOp.Insert | AcceptOp.Truncate);
        }