コード例 #1
0
        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);
            }
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        //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);
            }
        }
コード例 #4
0
        /// <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, "保存动态聚组设定失败");
            }
        }
コード例 #5
0
        /// <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);
            }
        }
コード例 #6
0
        /// <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, "保存动态聚组设定失败");
            }
        }
コード例 #7
0
 /// <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);
     }
 }
コード例 #8
0
 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);
     }
 }
コード例 #9
0
        /// <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获取动态聚组配置出错");
            }
        }
コード例 #10
0
        /// <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, "恢复动态聚组设定失败");
            }
        }
コード例 #11
0
        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);
            }
        }
コード例 #12
0
        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);
            }
        }