Пример #1
0
        protected void BaseFormHandle_ToolBar_OtherEvent(CMenuItem mnu)
        {
            if (mnu.LinkValue == "")
            {
                return;
            }
            if (mnu.ReplaceMenu)
            {
                CMenuItem rplmnu = mnu.Clone() as CMenuItem;
                rplmnu.Params  = strRowId;
                rplmnu.MnuName = this.Title;
                mnu            = rplmnu;
            }
            UpdateData data = null;
            string     msg  = null;

            if (mnu.linkType == LinkType.Dialog || mnu.linkType == LinkType.Select)
            {
                if (FrameSwitcher.ShowDialoger(this.DataFrm, this, mnu, ref data, ref msg))
                {
                    ToolBar_RefreshData();
                }
            }
            else
            {
                BaseFormHandle handle = null;
                FrameSwitcher.GetFrameHandle(this.DataFrm, this, mnu, ref data, ref msg, ref handle);
            }
        }
Пример #2
0
 public abstract bool CreateTagFrame(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref UpdateData data, ref string msg);
Пример #3
0
        public bool GetFrameHandle(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref UpdateData data, ref string msg, ref BaseFormHandle retHandle)
        {
            msg = null;
            if (mnu == null)
            {
                return(false);
            }
            if (mnu.LinkValue == null || mnu.LinkValue.Trim().Length == 0)
            {
                msg = "目标为空!";
                return(false);
            }
            Assembly ass = this.GetAssembly();

            if (ass == null)
            {
                msg = "无法获得程序集!";
                return(false);
            }
            string strFrmB = string.Format(mnu.LinkValue, GlobalShare.SystemAppInfo.AssemName) + "B";
            Type   tFrm    = ass.GetType(strFrmB);

            if (mnu.linkType != LinkType.WebPage)
            {
                if (tFrm == null)
                {
                    msg = string.Format("未找到类{0}!", mnu.LinkValue);
                    return(false);
                }
            }
            retHandle = null;
            switch (mnu.linkType)
            {
            case LinkType.WebPage:
            {
                return(CreateWebPage(Container, CurrFormHandle, mnu, ref msg));

                break;
            }

            case LinkType.Form:
            default:
            {
                BaseFormHandle objInst;
                if (mnu.Params == null || mnu.Params.Trim().Length == 0)
                {
                    objInst = Activator.CreateInstance(tFrm, null) as BaseFormHandle;
                }
                else
                {
                    objInst = Activator.CreateInstance(tFrm, mnu.Params) as BaseFormHandle;
                }
                if (objInst == null)
                {
                    msg = "无法建立实例!";
                    return(false);
                }
                objInst.strUid       = mnu.strUid;
                objInst.Title        = mnu.MnuName;
                objInst.Tag          = mnu;
                objInst.GridSource   = mnu.GridSource;
                objInst.DetailSource = mnu.DetailSrouce;
                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     = CurrFormHandle;
                objInst.TranData = mnu.TranDataMapping;
                if (objInst is ITranslateableInterFace && CurrFormHandle is IKeyForm)
                {
                    FillTranData(CurrFormHandle, objInst as ITranslateableInterFace, mnu, ref data);
                }
                if (!this.CreateFrame(Container, CurrFormHandle, mnu, ref data, ref msg))
                {
                    return(false);
                }
                retHandle = objInst;
                break;
            }
            }
            msg = null;
            return(true);
        }
Пример #4
0
 public abstract bool CreateWebPage(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref string msg);