void btnImport_Click(object sender, EventArgs e) { try { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "XML文件 (*.xml)| *.xml|All files (*.*)|*.*"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string fullName = dialog.FileName; var data = new MB.Util.Serializer.DataContractFileSerializer <List <DynamicColumnInfo> >(fullName); List <DynamicColumnInfo> list = data.Read(); if (list == null || list.Count == 0) { throw new MB.Util.APPException("读取文件失败!", Util.APPMessageType.DisplayToUser); } _DsDynamic = MB.Util.MyConvert.Instance.ConvertEntityToDataSet <DynamicColumnInfo>(list, new string[] { "Name", "Description" }); if (_DsDynamic == null || _DsDynamic.Tables.Count == 0) { throw new MB.Util.APPException(string.Format("动态列实体对象转换失败!"), Util.APPMessageType.DisplayToUser); } mergeColumnsWithDynamic(); this.gridColumn.RefreshDataSource(); } } catch (Exception ex) { MB.WinBase.ApplicationExceptionTerminate.DefaultInstance.ExceptionTerminate(ex); } }
/// <summary> /// 保存列配置信息 /// </summary> /// <param name="clientRuleObject"></param> /// <param name="templateName"></param> /// <param name="cols"></param> /// <param name="settings"></param> public static void SaveDynamicColumnSettings(IClientRuleQueryBase clientRuleObject, string templateName, List <DynamicColumnInfo> cols, List <GridColumnSettingInfo> settings) { try { //保存列配置信息 if (!Directory.Exists(GRID_FILE_PATH)) { Directory.CreateDirectory(GRID_FILE_PATH); } if (!string.IsNullOrEmpty(templateName)) { string sectionName = clientRuleObject.GetType().FullName + " " + clientRuleObject.ClientLayoutAttribute.UIXmlConfigFile + " " + templateName + ".xml"; var dynamicColumn = new MB.Util.Serializer.DataContractFileSerializer <List <DynamicColumnInfo> >(GRID_FILE_PATH + sectionName); dynamicColumn.Write(cols); } //保存主配置信息 var gridSetting = new MB.Util.Serializer.DataContractFileSerializer <List <GridColumnSettingInfo> >(GRID_COLUMN_SETTING_FULLNAME); gridSetting.Write(settings); } catch (Exception ex) { throw new MB.Util.APPException(ex.Message, Util.APPMessageType.SysErrInfo); } }
//add by aifang private GridLayoutInfo GetPivotGridActiveLayout(MB.WinBase.IFace.IClientRuleQueryBase baseRule, PivotGridEx xtraGrid) { try { var gridLayoutMainList = new MB.Util.Serializer.DataContractFileSerializer <List <GridLayoutMainInfo> >(GRID_LAYOUT_FILE_SETTING_FULLNAME).Read(); if (gridLayoutMainList == null) { return(null); } string sectionName = getLayoutXmlSessionName(baseRule, xtraGrid); var gridLayoutList = gridLayoutMainList.Find(o => o.GridSectionName.Equals(sectionName)); if (gridLayoutList == null || gridLayoutList.GridLayoutList.Count == 0) { return(null); } return(gridLayoutList.GridLayoutList.OrderByDescending(o => o.CreateTime).FirstOrDefault()); } catch (Exception ex) { MB.Util.TraceEx.Write(ex.Message, Util.APPMessageType.SysErrInfo); return(null); } }
/// <summary> /// 保存配置信息 /// </summary> public static void SaveDynamicGroupSettings(MB.XWinLib.PivotGrid.PivotGridEx pivotGrid, IClientRuleQueryBase clientRuleObject, DynamicGroupSetting setting) { try { //保存列配置信息 if (!Directory.Exists(DYNAMIC_GROUP_DIR)) { Directory.CreateDirectory(DYNAMIC_GROUP_DIR); } if (setting != null) { //string sectionName = clientRuleObject.GetType().FullName + "~" + pivotGrid.Name; string sectionName = getDynamicSettingSectionName(clientRuleObject); string fullFileName = string.Format(DYNAMIC_GROUP_SETTING_FULLNAME, sectionName); if (File.Exists(fullFileName)) { File.Delete(fullFileName); } var serializer = new MB.Util.Serializer.DataContractFileSerializer <DynamicGroupSetting>(fullFileName); serializer.Write(setting); string pivotFullName = string.Format(DYNAMIC_GROUP_PIVOT_GRID_LAYOUT, sectionName); if (File.Exists(pivotFullName)) { File.Delete(pivotFullName); } pivotGrid.SaveLayoutToXml(pivotFullName); } } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, "保存动态聚组设定失败"); } }
/// <summary> /// 获取模板列表 /// </summary> /// <param name="clientRuleObject"></param> /// <returns></returns> public static IList GetDynamicColumnSettings(IClientRuleQueryBase clientRuleObject) { try { var gridColumnSettings = new MB.Util.Serializer.DataContractFileSerializer <List <GridColumnSettingInfo> >(GRID_COLUMN_SETTING_FULLNAME).Read(); if (gridColumnSettings == null) { return(null); } string sectionName = clientRuleObject.GetType().FullName + " " + clientRuleObject.ClientLayoutAttribute.UIXmlConfigFile; var dynamicColumnSettings = gridColumnSettings.Find(o => o.Name.Equals(sectionName)); if (dynamicColumnSettings == null || dynamicColumnSettings.DynamicColumns.Count == 0) { return(null); } return(dynamicColumnSettings.DynamicColumns); } catch (Exception ex) { MB.Util.TraceEx.Write(ex.Message, Util.APPMessageType.SysErrInfo); return(null); } }
/// <summary> /// 保存配置信息 /// </summary> public void SaveDynamicGroupSettings(List <DynamicGroupUIColumns> dynamicGroupColumns) { IClientRuleQueryBase clientRuleObject = _ClientRuleObject; try { //保存列配置信息 if (!Directory.Exists(DYNAMIC_GROUP_DIR)) { Directory.CreateDirectory(DYNAMIC_GROUP_DIR); } if (dynamicGroupColumns != null && dynamicGroupColumns.Count > 0) { //string sectionName = clientRuleObject.GetType().FullName + "~" + pivotGrid.Name; string sectionName = getDynamicSettingSectionName(); string fullFileName = string.Format(DYNAMIC_GROUP_SETTING_FULLNAME, sectionName); if (File.Exists(fullFileName)) { File.Delete(fullFileName); } var serializer = new MB.Util.Serializer.DataContractFileSerializer <List <DynamicGroupUIColumns> >(fullFileName); serializer.Write(dynamicGroupColumns); } } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, "保存动态聚组设定失败"); } }
/// <summary> /// 根据模板名称获取列配置信息 /// </summary> /// <param name="clientRuleObject"></param> /// <param name="templateName"></param> /// <returns></returns> public static List <DynamicColumnInfo> GetDynamicColumnByTemplateName(IClientRuleQueryBase clientRuleObject, string templateName) { try { string sectionName = clientRuleObject.GetType().FullName + " " + clientRuleObject.ClientLayoutAttribute.UIXmlConfigFile + " " + templateName + ".xml"; var dynamicColumn = new MB.Util.Serializer.DataContractFileSerializer <List <DynamicColumnInfo> >(GRID_FILE_PATH + sectionName); return(dynamicColumn.Read()); } catch (Exception ex) { throw new MB.Util.APPException(ex.Message, Util.APPMessageType.SysErrInfo); } }
private void saveLayoutInfo() { try { var file = new MB.Util.Serializer.DataContractFileSerializer <List <GridLayoutMainInfo> >(GRID_LAYOUT_FILE_SETTING_FULLNAME); file.Write(_GridLayoutMainList); } catch (Exception ex) { MB.Util.TraceEx.Write(string.Format("保存布局失败,错误信息为:{0}", ex.Message)); throw new MB.Util.APPException(string.Format("保存布局失败,错误信息为:{0}", ex.Message), Util.APPMessageType.DisplayToUser); } }
/// <summary> /// 恢复汇总列的信息 /// </summary> public static DynamicGroupSetting GetDynamicGroupSetting(IClientRuleQueryBase clientRuleObject) { try { string sectionName = getDynamicSettingSectionName(clientRuleObject); string fullFileName = string.Format(DYNAMIC_GROUP_SETTING_FULLNAME, sectionName); if (File.Exists(fullFileName)) { var settings = new MB.Util.Serializer.DataContractFileSerializer <DynamicGroupSetting>(fullFileName).Read(); return(settings); } return(null); } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, "根据UI Rule获取动态聚组配置出错"); } }
/// <summary> /// 恢复汇总列的信息 /// </summary> public List <DynamicGroupUIColumns> RestoreDynamicGroupSetting() { IClientRuleQueryBase clientRuleObject = _ClientRuleObject; try { string sectionName = getDynamicSettingSectionName(); string fullFileName = string.Format(DYNAMIC_GROUP_SETTING_FULLNAME, sectionName); if (File.Exists(fullFileName)) { var settings = new MB.Util.Serializer.DataContractFileSerializer <List <DynamicGroupUIColumns> >(fullFileName).Read(); return(settings); } return(null); } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, "恢复动态聚组设定失败"); } }
private static GridLayoutInfo GetXtraGridActiveLayout(DevExpress.XtraGrid.GridControl xtraGrid) { try { var gridLayoutMainList = new MB.Util.Serializer.DataContractFileSerializer <List <GridLayoutMainInfo> >(GRID_LAYOUT_FILE_SETTING_FULLNAME).Read(); if (gridLayoutMainList == null) { return(null); } string sectionName = GetXtraGridLayoutSectionName(xtraGrid); var gridLayoutList = gridLayoutMainList.Find(o => o.GridSectionName.Equals(sectionName)); if (gridLayoutList == null || gridLayoutList.GridLayoutList.Count == 0) { return(null); } return(gridLayoutList.GridLayoutList.OrderByDescending(o => o.CreateTime).FirstOrDefault()); } catch (Exception ex) { MB.Util.TraceEx.Write(ex.Message, Util.APPMessageType.SysErrInfo); return(null); } }
void btnSave_Click(object sender, EventArgs e) { try { //保存当前设置值 List <DynamicColumnInfo> list = new List <DynamicColumnInfo>(); if (!string.IsNullOrEmpty(this.cmbDynamicTemplate.Text)) { DataRow[] drs = _DsSource.Tables[0].Select("IsDynamic = true"); if (drs.Length == 0) { throw new MB.Util.APPException("请选择动态显示列,动态列数据不能为空!", Util.APPMessageType.DisplayToUser); } foreach (DataRow dr in drs) { DynamicColumnInfo col = new DynamicColumnInfo(); col = MB.Util.MyReflection.Instance.FillModelObject <DynamicColumnInfo>(col, dr); list.Add(col); } } string sectionName = _ClientRuleObject.GetType().FullName + " " + _ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile; List <GridColumnSettingInfo> gridColumnSettings = new MB.Util.Serializer.DataContractFileSerializer <List <GridColumnSettingInfo> >(GRID_COLUMN_SETTING_FULLNAME).Read(); if (!string.IsNullOrEmpty(this.cmbDynamicTemplate.Text)) { GridColumnSettingInfo setting = null; GridDynamicColumnSettingInfo dynSetting = null; if (gridColumnSettings == null) { gridColumnSettings = new List <GridColumnSettingInfo>(); } else { setting = gridColumnSettings.Find(o => o.Name.Equals(sectionName)); dynSetting = _Settings.Find(o => o.Name.Equals(this.cmbDynamicTemplate.Text.Trim())); } if (dynSetting == null) { dynSetting = new GridDynamicColumnSettingInfo(); dynSetting.Name = this.cmbDynamicTemplate.Text.Trim(); dynSetting.LastModifyDate = DateTime.Now; _Settings.Add(dynSetting); } else { dynSetting.LastModifyDate = DateTime.Now; } if (setting == null) { setting = new GridColumnSettingInfo(); setting.Name = sectionName; gridColumnSettings.Add(setting); } setting.DynamicColumns = _Settings; } foreach (string name in _DeleteItems) { var item = gridColumnSettings.Find(o => o.Name.Equals(sectionName)); if (item != null) { var dynamicCol = item.DynamicColumns.Find(o => o.Name.Equals(name)); if (dynamicCol != null) { item.DynamicColumns.Remove(dynamicCol); } if (item.DynamicColumns.Count == 0) { gridColumnSettings.Remove(item); } } DynamicColumnSettingHelper.DeleteDynamicColumnSetting(_ClientRuleObject, name); } DynamicColumnSettingHelper.SaveDynamicColumnSettings(_ClientRuleObject, this.cmbDynamicTemplate.Text, list, gridColumnSettings); MB.WinBase.MessageBoxEx.Show("保存成功!"); this.DialogResult = System.Windows.Forms.DialogResult.OK; } catch (Exception ex) { MB.WinBase.ApplicationExceptionTerminate.DefaultInstance.ExceptionTerminate(ex); } }