コード例 #1
0
 protected virtual void OnMenuClick(XMenuInfo menuInfo, EventArgs e)
 {
     if (this.MenuClickEvent != null)
     {
         this.MenuClickEvent(menuInfo, e);
     }
 }
コード例 #2
0
ファイル: frmMainBase.cs プロジェクト: TIWTESOFT/MMIS
 /// <summary>
 /// 菜单单击事件
 /// </summary>
 /// <param name="menuInfo"></param>
 /// <param name="e"></param>
 protected virtual void menuFolderTool_MenuClickEvent(XMenuInfo menuInfo, EventArgs e)
 {
     try
     {
         frmBase frm = Assembly.Load(menuInfo.NameSpace).CreateInstance(menuInfo.FullAssembleName) as frmBase;
         if (frm == null)
         {
             XMessageBox.ShowError("该功能未实现或者实现的接口不正确!");
             return;
         }
         if (menuInfo.IsDialogModel)
         {
             frm.StartPosition = FormStartPosition.CenterParent;
             frm.ShowDialog();
         }
         else
         {
             this.ShowTabbedMdi(frm);
         }
     }
     catch (Exception ex)
     {
         XMessageBox.ShowError(ex.Message);
         XErrorLogTool.WriteLog(ex.ToString());
     }
 }
コード例 #3
0
ファイル: XMenuBusiness.cs プロジェクト: TIWTESOFT/MMIS
        /// <summary>
        /// 自定义修改校验
        /// </summary>
        /// <param name="modelInfo"></param>
        /// <returns></returns>
        protected override string GetValidateUpdateCustom(XModelBase modelInfo)
        {
            string    validateInfo = string.Empty;
            XMenuInfo menu         = modelInfo as XMenuInfo;

            if (menu == null)
            {
                return(this.GetNotRightType());
            }
            return(string.Empty);
        }
コード例 #4
0
ファイル: XMenuProvider.cs プロジェクト: TIWTESOFT/MMIS
        /// <summary>
        /// 更新操作
        /// </summary>
        /// <param name="modelInfo">信息</param>
        /// <returns></returns>
        public override bool Update(XModelBase modelInfo)
        {
            string sql = String.Empty;

            XMenuInfo info = modelInfo as XMenuInfo;

            sql = "Update " + this.TableName + " Set GroupId='{0}',MenuName='{1}',NameSpace='{2}',ClassName='{3}',OrderIndex={4} Where ID='{5}'";
            sql = string.Format(sql, info.GroupId, info.MenuName, info.NameSpace, info.ClassName, info.OrderIndex);

            return(this.m_DataAccess.ExecuteNonQuery(sql) > 0);
        }
コード例 #5
0
ファイル: XMenuProvider.cs プロジェクト: TIWTESOFT/MMIS
        /// <summary>
        /// 添加操作
        /// </summary>
        /// <param name="modelInfo">信息</param>
        /// <returns></returns>
        public override bool Insert(XModelBase modelInfo)
        {
            string sql = String.Empty;

            XMenuInfo info = modelInfo as XMenuInfo;

            sql = "Insert Into " + this.TableName + "(ID,GroupId,MenuName,NameSpace,ClassName,OrderIndex)Values('{0}','{1}','{2}','{3}','{4}',{5})";
            sql = String.Format(sql, info.ID, info.GroupId, info.MenuName, info.NameSpace, info.ClassName, info.OrderIndex);

            return(this.m_DataAccess.ExecuteNonQuery(sql) > 0);
        }
コード例 #6
0
ファイル: XMenuInfoTool.cs プロジェクト: TIWTESOFT/MMIS
 /// <summary>
 /// 将菜单信息类转换为菜单数据行
 /// </summary>
 /// <param name="menuInfo"></param>
 /// <returns></returns>
 public static void MenuInfo2MenuRow(XMenuInfo menuInfo, DataRow menuRow)
 {
     menuRow["FolderName"]       = menuInfo.MenuName;
     menuRow["FolderGroup"]      = menuInfo.GroupName;
     menuRow["Count"]            = menuInfo.Count;
     menuRow["FolderOrder"]      = menuInfo.OrderIndex;
     menuRow["NameSpace"]        = menuInfo.NameSpace;
     menuRow["ClassName"]        = menuInfo.ClassName;
     menuRow["FullAssembleName"] = menuInfo.FullAssembleName;
     menuRow["IsDialogModel"]    = menuInfo.IsDialogModel;
 }
コード例 #7
0
ファイル: XMenuProvider.cs プロジェクト: TIWTESOFT/MMIS
        /// <summary>
        /// 将数据行转换为实体
        /// </summary>
        /// <param name="modelRow">数据行记录</param>
        /// <returns>实体信息</returns>
        protected override void DataRow2ModelBase(XModelBase modelInfo, DataRow modelRow)
        {
            XMenuInfo info = modelInfo as XMenuInfo;

            info.ID            = XHelper.GetString(modelRow["RID"]);           //
            info.GroupId       = XHelper.GetString(modelRow["GroupId"]);       //
            info.MenuName      = XHelper.GetString(modelRow["MenuName"]);      //
            info.NameSpace     = XHelper.GetString(modelRow["AssembleName"]);  //
            info.ClassName     = XHelper.GetString(modelRow["ClassName"]);     //
            info.OrderIndex    = XHelper.GetInt(modelRow["OrderIndex"]);       //
            info.IsDialogModel = Convert.ToBoolean(modelRow["IsDialogModel"]); //
        }
コード例 #8
0
 void grid_Click(object sender, EventArgs e)
 {
     Janus.Windows.GridEX.GridEX gridEx = sender as Janus.Windows.GridEX.GridEX;
     if (gridEx != null)
     {
         if (gridEx.CurrentRow != null && gridEx.CurrentRow.RowType == Janus.Windows.GridEX.RowType.Record)
         {
             DataRow   currentRow = ((System.Data.DataRowView)(gridEx.CurrentRow.DataRow)).Row;
             XMenuInfo menuInfo   = XMenuInfoTool.MenuRow2MenuInfo(currentRow);
             this.OnMenuClick(menuInfo, new EventArgs());
         }
     }
 }
コード例 #9
0
        /// <summary>
        /// 根据创建的命令格式化操作菜单项。
        /// </summary>
        /// <param name="moduleInfo"></param>
        public void RefreshToolsButtonItem(MB.Util.Model.ModuleTreeNodeInfo moduleInfo)
        {
            foreach (DevExpress.XtraBars.BarButtonItem butItem in _AllCreateButtonItems.Keys)
            {
                butItem.Enabled = true;
            }
            if (!string.IsNullOrEmpty(moduleInfo.RejectCommands))
            {
                string[] rejects = moduleInfo.RejectCommands.Split(',');
                foreach (DevExpress.XtraBars.BarButtonItem butItem in _AllCreateButtonItems.Keys)
                {
                    XMenuInfo     menuInfo = _AllCreateButtonItems[butItem];
                    UICommandType cType    = (UICommandType)menuInfo.CommandID.ID;
                    if (Array.IndexOf(rejects, cType.ToString()) >= 0)
                    {
                        butItem.Enabled = false;
                    }
                }
            }

            MB.WinBase.IFace.IForm activeForm = _CommandExecutor.HostMdiMainForm.GetActiveMdiChildForm();
            if (activeForm == null)
            {
                return;
            }

            //如果是分析界面的话要屏蔽掉操作功能菜单项。
            MB.WinBase.IFace.IClientRule editRule = activeForm.ClientRuleObject as MB.WinBase.IFace.IClientRule;
            if (editRule != null)
            {
                return;
            }

            foreach (DevExpress.XtraBars.BarButtonItem butItem in _AllCreateButtonItems.Keys)
            {
                XMenuInfo menuInfo = _AllCreateButtonItems[butItem];
                var       info     = CommandGroups.EditCommands.FirstOrDefault(o => o.CommandID.Equals(menuInfo.CommandID));
                if (info != null)
                {
                    butItem.Enabled = false;
                    continue;
                }
                if (menuInfo.CommandID.Equals(UICommands.DataImport))
                {
                    butItem.Enabled = false;
                    continue;
                }
            }
        }
コード例 #10
0
ファイル: frmRoleMenusList.cs プロジェクト: TIWTESOFT/MMIS
        /// <summary>
        /// 获取菜单
        /// </summary>
        /// <param name="menuInfos"></param>
        /// <param name="groupInfo"></param>
        /// <returns></returns>
        private IList <XMenuInfo> GetMenuInfos(IList <XModelBase> menuInfos, XMenuGroupInfo groupInfo)
        {
            IList <XMenuInfo> infos = new List <XMenuInfo>();

            foreach (XModelBase menuModel in menuInfos)
            {
                XMenuInfo menuInfo = menuModel as XMenuInfo;
                if (menuInfo.GroupId == groupInfo.ID)
                {
                    infos.Add(menuInfo);
                }
            }

            return(infos);
        }
コード例 #11
0
ファイル: XMenuInfoTool.cs プロジェクト: TIWTESOFT/MMIS
        /// <summary>
        /// 将菜单数据行转换为菜单信息
        /// </summary>
        /// <param name="menuRow"></param>
        /// <returns></returns>
        public static XMenuInfo MenuRow2MenuInfo(DataRow menuRow)
        {
            XMenuInfo menuInfo = new XMenuInfo();

            //menuInfo.FolderName = XHelper.GetString(menuRow["FolderName"]);
            //menuInfo.FolderGroup = XHelper.GetString(menuRow["FolderGroup"]);
            menuInfo.Count         = XHelper.GetInt(menuRow["Count"]);
            menuInfo.OrderIndex    = XHelper.GetInt(menuRow["FolderOrder"]);
            menuInfo.MenuName      = XHelper.GetString(menuRow["FolderName"]);
            menuInfo.NameSpace     = XHelper.GetString(menuRow["NameSpace"]);
            menuInfo.ClassName     = XHelper.GetString(menuRow["ClassName"]);
            menuInfo.IsDialogModel = Convert.ToBoolean(menuRow["IsDialogModel"]);

            return(menuInfo);
        }
コード例 #12
0
        //
        void btnItem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (e.Item.Tag == null)
            {
                return;
            }

            try {
                using (MB.WinBase.WaitCursor cursor = new MB.WinBase.WaitCursor()) {
                    XMenuInfo menuInfo = e.Item.Tag as XMenuInfo;
                    _CommandExecutor.ExecCommand(menuInfo.CommandID);
                }
            }
            catch (Exception ex) {
                MB.WinBase.ApplicationExceptionTerminate.DefaultInstance.ExceptionTerminate(ex);
            }
        }
コード例 #13
0
        //创建一般的button 菜单。
        private DevExpress.XtraBars.BarButtonItem createDefaultButtonItem(XMenuInfo menuInfo)
        {
            DevExpress.XtraBars.BarButtonItem btnItem = new DevExpress.XtraBars.BarButtonItem();
            btnItem.ImageIndex = menuInfo.ImageIndex;
            btnItem.Caption    = menuInfo.Description;
            btnItem.Hint       = menuInfo.Description;
            btnItem.Tag        = menuInfo;

            if (menuInfo.Shortcut != System.Windows.Forms.Shortcut.None)
            {
                btnItem.ItemShortcut = new DevExpress.XtraBars.BarShortcut(menuInfo.Shortcut);
            }
            btnItem.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(btnItem_ItemClick);

            _AllCreateButtonItems.Add(btnItem, menuInfo);
            return(btnItem);
        }
コード例 #14
0
ファイル: frmRoleMenusList.cs プロジェクト: TIWTESOFT/MMIS
 private void GetSelectedMenus(XTreeNode treeNode)
 {
     if (treeNode.Nodes.Count > 0)
     {
         //如果有子节点,则继续递归查找末级节点
         foreach (XTreeNode node in treeNode.Nodes)
         {
             this.GetSelectedMenus(node);
         }
     }
     else
     {
         if (treeNode.Model is XMenuInfo)
         {
             XMenuInfo menuInfo = treeNode.Model as XMenuInfo;
             if (treeNode.Checked)
             {
                 this.m_SelectedMenus.Add(menuInfo);
             }
         }
     }
 }