protected override void OnSetController(BaseController value) { var controller = value as ReportTableController; if (controller == null) { return; } if (DataFieldsEditControl != null) { DataFieldsEditControl.Parent = null; DataFieldsEditControl.CloseControl(); DataFieldsEditControl.Dispose(); } DataFieldsEditControl = controller.ParameterEditController.CreateEditControl(typeof(DataField)) as DataParametersEditControl; DataFieldsEditControl.Dock = DockStyle.Top; DataFieldsEditControl.AutoSizeMode = AutoSizeMode.GrowAndShrink; DataFieldsEditControl.AutoSize = true; DataFieldsEditControl.Parent = this; ExtendAddonPublic.GetAddonExtendProperties(controller); RecreateParameterInputControls(); base.OnSetController(value); }
protected override void OnSetController(BaseController value) { var controller = value as GridControlController; ExtendAddonPublic.GetAddonExtendProperties(controller); GridViewType = controller.GridViewType; MainView.SetLayoutData(controller.LayoutData); }
protected override bool OnClosing(DialogReturn dialogResult) { var controller = Controller as GridControlController; controller.GridViewType = GridViewType; controller.LayoutData = MainView.GetLayoutData(); ExtendAddonPublic.SetAddonExtendProperties(controller, "GridViewType", "LayoutData"); return(base.OnClosing(dialogResult)); }
protected override void OnClose() { var controller = Controller as ReportTableController; if (controller != null) { controller.QueryParameters = this.DataFieldsEditControl.EditValue as List <DataParameter>; ExtendAddonPublic.SetAddonExtendProperties(controller, "QueryBehavior", "ParameterEditController", "QueryParameters", "DataColumns"); } base.OnClose(); }
protected override void OnClosing(CancelEventArgs e) { this.DialogResult = DialogResult.OK; this.CloseControl(); _MDIApplication.LayoutData = this.DockManager.GetLayoutData(); _MDIApplication.SkinName = DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName; ExtendAddonPublic.SetAddonExtendProperties(_MDIApplication, "LayoutData", "SkinName"); base.OnClosing(e); }
/// <summary> /// 重建参数视图 /// </summary> private void RecreateTableView(AccordionControlElementCollection elements , ReportTableView parentTableView , IEnumerable <ReportTableController> tables) { if (parentTableView != null) { parentTableView.ChildTableViews = new List <Views.ReportTableView>(); } foreach (var reportDataTable in tables) { ExtendAddonPublic.GetAddonExtendProperties(reportDataTable); var elementTableView = new AccordionControlElement(); elementTableView.Name = reportDataTable.ID; elementTableView.Style = ElementStyle.Group; elementTableView.Expanded = true; elementTableView.Text = String.Format("{0}({1})", reportDataTable.Caption, reportDataTable.TableName); elements.Add(elementTableView); var reportTableView = reportDataTable.CreateView() as ReportTableView; reportTableView.Dock = DockStyle.Top; reportTableView.AutoSize = true; reportTableView.RowCount = 0; reportTableView.BorderStyle = BorderStyle.FixedSingle; reportTableView.DataFetched += ReportTableView_DataFetched; reportTableView.DataRequery += ReportTableView_DataRequery; var elementParameterView = new AccordionControlElement(); elementParameterView.Name = reportDataTable.ID; elementParameterView.Style = ElementStyle.Item; elementParameterView.Expanded = true; elementParameterView.Text = "查询"; var container = new AccordionContentContainer(); container.Controls.Add(reportTableView); container.Height = reportTableView.Height; elementParameterView.ContentContainer = container; reportTableView.SizeChanged += (sender, e) => { container.Height = reportTableView.Height; }; TableControls.Add(reportDataTable.TableName, reportTableView); elementTableView.Elements.Add(elementParameterView); if (parentTableView != null) { parentTableView.ChildTableViews.Add(reportTableView); } if (reportDataTable.ChildTables.IsNotNullOrEmpty()) { RecreateTableView(elementTableView.Elements, reportTableView, reportDataTable.ChildTables); } } }
public void Initialize(MDIApplication application) { _MDIApplication = application; Text = _MDIApplication.Caption; // 添加菜单项 if (_MDIApplication.MenuItems.IsNotNullOrEmpty()) { foreach (var menuItem in _MDIApplication.MenuItems) { _MDIApplication.MainForm.AddMenuItem(menuItem.Value); } } if (_MDIApplication.Controllers.IsNotNullOrEmpty()) { foreach (var controllerRef in _MDIApplication.Controllers) { var controller = controllerRef.Value; TransactionPublic.Run(String.Format("打开控制器:{0}", controller), () => { controller.CreateAndOpenView(this); }); } } // 显示当前用户 var securityService = _MDIApplication.SecurityService.Value; var userInfo = securityService.GetUserInfo(); MenuCurrentUser.Caption = userInfo.UserName; if (MenuFunction.ItemLinks.Count <= 0) { MenuFunction.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; } else { MenuFunction.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } DefaultLayoutData = this.DockManager.GetLayoutData(); ExtendAddonPublic.SetAddonExtendProperties(_MDIApplication); // 加载布局数据 this.DockManager.SetLayoutData(_MDIApplication.LayoutData); }
protected override void OnClose() { // 杀掉背景线程 while (BackgroundWorkers.Count > 0) { var backgroundWorker = BackgroundWorkers[0]; BackgroundWorkers.RemoveAt(0); backgroundWorker.CancelAsync(); } var controller = Controller as ReportController; // 保存报表和数据的客户端设置 controller.LayoutData = this.LayoutControl.GetLayoutData(); ExtendAddonPublic.SetAddonExtendProperties(controller, "LayoutData", "QueryBehavior"); base.OnClose(); }
protected override void OnSetController(BaseController value) { var controller = value as ReportController; // 打开子视图控制器 foreach (var childControllerRef in controller.Displayers) { var childController = childControllerRef.Value; childController.CreateAndOpenView(this); } // 重建参数视图 RecreateTableView(); // 准备数据格式 PrepareDataSchema(); // 重置自动查询 ResetAutoQuery(); // 读取报表和数据的客户端设置 ExtendAddonPublic.GetAddonExtendProperties(controller); this.LayoutControl.SetLayoutData(controller.LayoutData); }
/// <summary> /// 运行 /// </summary> public void Start() { // 一个应用中只能有一个默认应用程序 Default = this; TransactionPublic.Run("主应用程序", () => { TransactionPublic.Run("应用程序初始化", () => { TransactionPublic.Run("准备启动", OnPreparing); TransactionPublic.Run("本地配置加载", () => { // 加载本地配置存储 if (ConfigStorageDirName.IsNotNullOrEmpty()) { ConfigStoragePublic.LoadConfigStorages(AppPublic.GetAbsolutePath(ConfigStorageDirName)); } // 加载Application扩展属性 ExtendAddonPublic.GetAddonExtendProperties(this); }); TransactionPublic.Run("检索全局插件", () => { AddonPublic.SearchRuntimeAddons(this); }); #region 事件 TransactionPublic.Run("事件处理机准备", () => { if (!EventProcessorList.IsNullOrEmpty()) { EventPublic.ClearEventProcessor(); foreach (var EventProcessor in EventProcessorList) { var logObj = EventProcessor.Value; EventPublic.AddEventProcessor(logObj); } } }); #endregion 日志 #region 务器 TransactionPublic.Run("启动服务器列表", () => { if (ServerList.IsNotNullOrEmpty()) { foreach (var server in ServerList) { var serverObj = server.Value; if (serverObj == null) { throw new Exception("服务创建失败"); } serverObj.Start(); EventPublic.Information("服务{0}启动完毕.", serverObj.ObjectToString()); } } }); #endregion 务 }); #region 序 TransactionPublic.Run("启动程序", Run); #endregion 序 TransactionPublic.Run("应用程序退出", () => { TransactionPublic.Run("扩展属性保存", () => { // 保存本地配置存储 if (ConfigStorageDirName.IsNotNullOrEmpty()) { ConfigStoragePublic.SaveConfigStorages(AppPublic.GetAbsolutePath(ConfigStorageDirName)); } }); }); }, OnException); }