public static bool switchToView(IXContainerControl container, IKeyForm Link, CMenuItem mnu, ref UpdateData data) { return(switchToView(container, Link, mnu, ref data, null)); }
public static bool switchToView(IXContainerControl container, IKeyForm Link, CMenuItem mnu, ref UpdateData data, List <UpdateData> injectedatas) { if (mnu == null) { return(false); } if (mnu.LinkValue == null || mnu.LinkValue.Trim().Length == 0) { return(false); } Type tFrm = Appasmb.GetType(string.Format(mnu.LinkValue, GlobalShare.SystemAppInfo.AssemName)); if (true) { if (tFrm == null) { MessageBox.Show(string.Format("未找到类{0}!", mnu.LinkValue)); return(false); } } if (mnu.linkType == LinkType.WebPage) { if (AllModules.ContainsKey(mnu.MnuId)) { container.CurrMainControl = AllModules[mnu.MnuId]; return(true); } } Ifrm_Model objInst; if (container == null) { return(false); } //container.Controls.Clear(); //container.Controls.Clear();//清除所有控件 if (mnu.Params == null || mnu.Params.Trim().Length == 0) { object obj = Activator.CreateInstance(tFrm, null); objInst = obj as Ifrm_Model; } else { objInst = Activator.CreateInstance(tFrm, mnu.Params) as Ifrm_Model; } if (objInst == null) { return(false); } objInst.FromMenu = mnu; objInst.strUid = mnu.strUid; objInst.SetDock(XPlatformDockStyle.Fill); if (objInst.lb_Title != null) { objInst.lb_Title.Text = mnu.MnuName; } objInst.GridSource = mnu.GridSource; objInst.DetailSource = mnu.DetailSrouce; objInst.UseSubItems = mnu.UseSubItems; objInst.strKey = mnu.Key; if (mnu.Module.Trim().Length > 0) { objInst.strModule = mnu.Module; } if (mnu.Screen.Trim().Length > 0) { objInst.strScreen = mnu.Screen; } if (mnu.Target.Trim().Length > 0) { objInst.strTarget = mnu.Target; } objInst.strKey = mnu.Key; objInst.Link = Link; if (objInst is IMutliDataInterface) { (objInst as IMutliDataInterface).InjectedDatas = injectedatas; } if (objInst is ITranslateableInterFace && (Link is IKeyForm || Link == null)) { FillTranData(Link, objInst as ITranslateableInterFace, ref mnu, ref data); (objInst as ITranslateableInterFace).NeedUpdateData = data; } objInst.TranData = mnu.TranDataMapping; //菜单数据下传 //if (objInst.InjectedDatas == null) //{ // objInst.InjectedDatas = new List<UpdateData>(); //} //if(data != null) //{ // objInst.InjectedDatas.Add(data); //} if (container != null) { container.Controls_Add(objInst); objInst.ToTopLevel(); } if (!AllModules.ContainsKey(mnu.MnuId)) { AllModules.Add(mnu.MnuId, objInst); } container.CurrMainControl = objInst; switch (mnu.linkType) { case LinkType.WebPage: //winform专用 { break; } case LinkType.Dialog: { if (container is IXPanel) //容器是ixpanel 并且 { if ((container as IXPanel).InForm) //容器是在最外层main/mdi_main { } else { break; } } else //如果是form { //自加载 break; } IXForm frmobj = CreateForm(objInst.ControlType); frmobj.InitForm(mnu, SystemIcon); frmobj.Controls_Add(objInst); frmobj.ShowIXDialog(); break; } case LinkType.Form: { break; } case LinkType.UserControl: { break; } case LinkType.PrintToPDF: { if (container is IXPanel) //容器是ixpanel 并且 { if ((container as IXPanel).InForm) //容器是在最外层main/mdi_main { break; } else { } } else //如果是form { //自加载 break; } IXForm frmobj = CreateForm(objInst.ControlType); frmobj.InitForm(mnu, SystemIcon); frmobj.Controls_Add(objInst); frmobj.ShowIXDialog(); break; } default: { break; } } return(true); }
public static bool switchToView(IXContainerControl container, CMenuItem mnu) { return(switchToView(container, null, mnu)); }