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); }
/// <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); } }
/// <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!"); } }
/// <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); }
/// <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); }
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); }