/// <summary> /// 载入模块名称 /// </summary> private void LoadModuleNameAndData() { cbxDataName.Items.Clear(); cbxModuleType.Items.Clear(); cbxDataType.Items.Clear(); listModule.Items.Clear(); if (this.DesignMode) { //ide设计模式下的处理 if (_modules == null) { _modules = new CoordinationBizModules(); } List <Control> ctls = DesignHelper.GetDesignControls(_designParent); foreach (Control ctl in ctls) { ISysDesign dc = ctl as ISysDesign; if (dc != null) { if (_modules.ContainsKey(dc.ModuleName) == false) { _modules.Add(dc.ModuleName, dc); } else { MessageBox.Show("模块 [" + dc.ModuleName + "] 实例已经存在,不能重复添加", "提示"); } } } } else { _modules = _instance.RelateModules; } if (_modules == null) { return; } if (_modules.Count <= 0 && _modules.ParentWindowBizModules == null) { return; } cbxModuleType.Items.Add("当前窗体模块"); cbxDataType.Items.Add("当前窗体模块"); if (_modules.ParentWindowBizModules != null) { cbxModuleType.Items.Add("父级窗体模块"); cbxDataType.Items.Add("父级窗体模块"); } cbxModuleType.SelectedIndex = 0; cbxDataType.SelectedIndex = 0; }
protected bool DoBindActions(EventActionReleation ea, object sender, object eventArgs = null) { if (_relateBizModules.Count <= 0) { return(true); } string moduleName = ""; string methodName = ""; foreach (KeyValuePair <string, ActionItem> act in ea.Actions) { moduleName = act.Key.Split('.')[0]; methodName = act.Key.Split('.')[1]; ISysDesign exeModule = null; if (act.Value.IsParentModule) { if (_relateBizModules.ParentWindowBizModules == null) { exeModule = null; } else { if (_relateBizModules.ParentWindowBizModules.ContainsKey(moduleName)) { exeModule = _relateBizModules.ParentWindowBizModules[moduleName]; } } } else { if (_relateBizModules.ContainsKey(moduleName)) { exeModule = _relateBizModules[moduleName]; } } if (exeModule == null) { if (MessageBox.Show("[" + moduleName + "] 未能加载,不能执行该模块方法, 是否继续后续执行?", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { return(false); } else { continue; } } ActionItem ai = act.Value; IBizDataItems bizDatas = null; if (string.IsNullOrEmpty(ai.RequestDataName) == false) { bizDatas = GetDataItem(_moduleName, ai, ai.RequestDataName); if (bizDatas == null) { return(false); } bizDatas.DataName = ai.RequestDataName; } //SetDataToAttach(bizDatas); if (bizDatas != null && ai.RequestAttachDataNames != null) { foreach (string requestDataName in ai.RequestAttachDataNames) { IBizDataItems curRequestData = GetDataItem(_moduleName, ai, requestDataName); curRequestData.DataName = requestDataName; bizDatas.AttachDatas.Add(curRequestData); } } //如果返回False则终止后续执行 if (exeModule.ExecuteAction(_moduleName, this, sender, act.Value.ActName, act.Value.ActTag, bizDatas, eventArgs) == false) { return(false); } } return(true); }