Ejemplo n.º 1
0
        //---------------------------------------------
        // 公有方法
        //---------------------------------------------
        /// <summary>
        /// 初始化表单。访问权限验证;生成工具栏按钮;请在OnInit事件中调用。
        /// </summary>
        /// <param name="form">页面中的表单</param>
        /// <param name="viewPower">查看权限</param>
        /// <param name="editPower">编辑权限</param>
        /// <param name="newPower">新建权限</param>
        /// <param name="toolbar">工具栏。按钮将在该工具栏中生成。若为空,则尝试在表单第一个工具栏中插入按钮。</param>
        /// <param name="relayoutToolbar">是否重新布局工具栏。为true的话将工具栏上的原控件移到右侧。</param>
        public void InitForm(FormBase form, PowerType viewPower, PowerType editPower, PowerType newPower, Toolbar toolbar = null, bool relayoutToolbar = true)
        {
            // 检测页面访问权限
            switch (this.Mode)
            {
            case PageMode.View: Common.CheckPagePower(viewPower); break;

            case PageMode.New: Common.CheckPagePower(newPower); break;

            case PageMode.Edit: Common.CheckPagePower(editPower); break;
            }

            // 工具栏
            this.frm = form;
            if (toolbar == null)
            {
                if (form.Toolbars.Count > 0)
                {
                    toolbar = form.Toolbars[0];
                }
                else
                {
                    toolbar = new Toolbar();
                    form.Toolbars.Add(toolbar);
                }
            }

            // 工具栏控件
            InitToolbar(toolbar, relayoutToolbar);
            this.ShowBtnClose = Asp.GetQueryBoolValue("showBtnClose") ?? false;
        }