Ejemplo n.º 1
0
        private void SetMetro(MENUTABLE menuTable, HtmlTextWriter writer, ref int iColor)
        {
            String bgColor = menuTable.VERSIONNO;
            if (String.IsNullOrEmpty(bgColor))
            {
                String[] bgColors = { "orange", "purple", "greenDark", "blue", "red", "green", "blueDark", "yellow", "pink", "darken", "gray", "grayLight" };
                //bgColor = bgColors[Guid.NewGuid().ToByteArray()[0] % 12];
                if (iColor >= bgColors.Length)
                    iColor = 0;
                bgColor = bgColors[iColor++];
            }
            String menuClass = String.Format("tile {0} image bg-color-{1}", getSize(menuTable), bgColor);
            menuClass = SetFMenuClassForMobileGrid(menuClass, menuTable);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, menuClass);
            String formName = String.Empty;
            if (!String.IsNullOrEmpty(menuTable.FORM))
                formName = "/" + menuTable.FORM + ".aspx";
            if (!String.IsNullOrEmpty(menuTable.PACKAGE) && !String.IsNullOrEmpty(formName))
            {
                //href='" + url + "' data-transition='slide' rel='external'
                if (!IsForCloud)
                {
                    if (SubFolder)
                        writer.AddAttribute(HtmlTextWriterAttribute.Href, "../" + menuTable.PACKAGE + formName + "?" + menuTable.ITEMPARAM);
                    else
                        writer.AddAttribute(HtmlTextWriterAttribute.Href, menuTable.PACKAGE + formName + "?" + menuTable.ITEMPARAM);
                }
                else
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:void(0);");
                    writer.AddAttribute(HtmlTextWriterAttribute.Onclick, String.Format("openForm({{MODULETYPE:'{0}', FORM:'{1}', MENUID:'{2}', CAPTION:'{3}'}})", menuTable.MODULETYPE, menuTable.FORM, menuTable.MENUID, menuTable.CAPTION));
                }
                writer.AddAttribute("data-transition", "slide");
                writer.AddAttribute(HtmlTextWriterAttribute.Rel, "external");
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Id, String.Format("Menu{0}", menuTable.MENUID));
            writer.RenderBeginTag(HtmlTextWriterTag.A);

            if (menuTable.ISSERVER != null && menuTable.ISSERVER.ToString() != "N" && menuTable.ISSERVER != "I" && menuTable.ISSERVER != "T")
            {
                #region metro作为控件使用在页面呈现其他类型时候
                if (menuTable.OWNER != null && menuTable.OWNER != "")
                {
                    var control = this.Page.FindControl(menuTable.OWNER);
                    if (control != null)
                    {
                        if (menuTable.ISSERVER == "G")
                        {
                            control.Visible = true;
                            //control.RenderControl(writer);
                            var grid = control as JQDataGrid;
                            var gridClass = JQClass.DataGrid;
                            var gridTheme = grid.Theme;
                            if (grid.GridViewType == JQMobileTools.GridViewType.List)
                            {
                                gridClass += " " + JQClass.DataList;
                            }
                            writer.AddAttribute(HtmlTextWriterAttribute.Class, gridClass + " table-stripe infolight-breakpoint");
                            writer.AddAttribute(JQProperty.DataRole, JQDataRole.Table);
                            writer.AddAttribute(JQProperty.DataMode, JQDataMode.Reflow);
                            if (!string.IsNullOrEmpty(gridTheme))
                            {
                                writer.AddAttribute(JQProperty.DataTheme, gridTheme);
                            }
                            writer.AddAttribute(JQProperty.DataOptions, grid.DataOptions);

                            writer.RenderBeginTag(HtmlTextWriterTag.Table);
                            writer.RenderBeginTag(HtmlTextWriterTag.Thead);
                            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                            foreach (var column in grid.Columns)
                            {
                                if (column.Visible)
                                    column.Render(writer);
                            }

                            writer.RenderEndTag();
                            writer.RenderEndTag();
                            writer.RenderEndTag();
                            JQScriptManager.RenderPopup(writer, string.Format("{0}_popup", ID));

                            if (grid.ToolItems.Count > 0)
                            {
                                writer.AddAttribute(HtmlTextWriterAttribute.Id, grid.ToolItemObjectID);
                                writer.AddAttribute(HtmlTextWriterAttribute.Style, "display:none");
                                writer.AddAttribute(JQProperty.DataRole, JQDataRole.None);
                                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                                foreach (var item in grid.ToolItems)
                                {
                                    item.Render(writer);
                                }
                                writer.RenderEndTag();
                            }
                            control.Visible = false;
                        }
                        else if (menuTable.ISSERVER == "C" || menuTable.ISSERVER == "D")
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ID + "_" + control.ID);
                            writer.RenderBeginTag(HtmlTextWriterTag.Div);
                            writer.RenderEndTag();//div
                            System.Reflection.PropertyInfo p = control.GetType().GetProperty("RenderObjectID");
                            if (p != null)
                            {
                                p.SetValue(control, this.ID + "_" + control.ID, null);
                            }
                        }
                    }
                }
                #endregion
            }
            else
            {
                #region metro 呈现MenuTable资料
                if (menuTable.ISSERVER == "I" || menuTable.ISSERVER == "T")
                {
                    var control2 = this.Page.FindControl(menuTable.OWNER);
                    if (control2 != null && control2.GetType() == typeof(JQRotator))
                    {
                        (control2 as JQRotator).MenuID = menuTable.MENUID;
                    }
                }
                if (!String.IsNullOrEmpty(menuTable.IMAGEURL))
                {
                    var initialDir = string.Format("Image/MenuTree/Metro_{0}", menuTable.IMAGEURL);
                    if (SubFolder)
                        initialDir = "../" + initialDir;
                    writer.AddAttribute(HtmlTextWriterAttribute.Src, initialDir);
                    writer.RenderBeginTag(HtmlTextWriterTag.Img);
                    writer.RenderEndTag();//Img
                }
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "textover-wrapper transparent");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.AddAttribute(HtmlTextWriterAttribute.Id, String.Format("Menu{0}DIVtext", menuTable.MENUID));
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "text2");
                var title = getCaption(menuTable);
                writer.AddAttribute(HtmlTextWriterAttribute.Title, title);
                writer.AddAttribute(HtmlTextWriterAttribute.Style, "color: white");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.Write(title);
                writer.RenderEndTag();//Div text2
                writer.RenderEndTag();//Div textover-wrapper bg-color-blueDark
                #endregion
            }
            writer.RenderEndTag();//A tile wide imagetext wideimage bg-color-blue

            foreach (MENUTABLE v in menuTable.MENUTABLE1)
            {
                SetMetro(v, writer, ref iColor);
            }
        }
Ejemplo n.º 2
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            //new add by ccm
            if (txtCaption.Text == string.Empty)
            {
                MessageBox.Show("Caption can't be null");
                return;
            }
            //add by ccm to solve the problem of set the childnode as parent
            for (int i = 0; i < MenuIDList.Count; i++)
            {
                if (MenuIDList[i].ToString() == txtParent.Text.Trim())
                {
                    if (ParentList[i].ToString() == txtMenuID.Text.Trim())
                    {
                        MessageBox.Show("Can not set the childnode as parent");
                        return;
                    }
                }
            }

            EnableControl(false);
            //btnReloadTree.Enabled = true;
            tView.Enabled = true;
            infoCmbSolution.Enabled = true;
            this.cbLanguageID.Enabled = true;

            //object[] strAddParam = new object[13];
            MENUTABLE aMENUTABLE = new MENUTABLE();
            if (optype == OpType.modify)
            {
                aMENUTABLE = (MENUTABLE)curNode.Tag;
            }
            //new add by ccm

            aMENUTABLE.MENUID = (txtMenuID.Text == string.Empty) ? null : txtMenuID.Text;
            //aMENUTABLE.CAPTION = txtCaption.Text;
            switch (this.cbLanguageID.Text)
            {
                case "English": aMENUTABLE.CAPTION0 = txtCaption.Text; break;
                case "Traditional Chinese": aMENUTABLE.CAPTION1 = txtCaption.Text; break;
                case "Simplified Chinese": aMENUTABLE.CAPTION2 = txtCaption.Text; break;
                case "HongKong": aMENUTABLE.CAPTION3 = txtCaption.Text; break;
                case "Japanese": aMENUTABLE.CAPTION4 = txtCaption.Text; break;
                case "Korean": aMENUTABLE.CAPTION5 = txtCaption.Text; break;
                case "User-defined1": aMENUTABLE.CAPTION6 = txtCaption.Text; break;
                case "User-defined2": aMENUTABLE.CAPTION7 = txtCaption.Text; break;
                case "Default": aMENUTABLE.CAPTION = txtCaption.Text; break;
            }
            aMENUTABLE.PARENT = (txtParent.Text == string.Empty) ? null : txtParent.Text;
            if (cmbSize.SelectedValue == null)
                aMENUTABLE.ISSHOWMODAL = "s";
            else
                aMENUTABLE.ISSHOWMODAL = cmbSize.SelectedValue.ToString();
            if (cmbBGColor.SelectedValue == null)
                aMENUTABLE.VERSIONNO = "blue";
            else
                aMENUTABLE.VERSIONNO = cmbBGColor.SelectedValue.ToString();
            aMENUTABLE.MODULETYPE = "J";
            aMENUTABLE.PACKAGE = (txtPackage.Text == string.Empty) ? null : txtPackage.Text;
            aMENUTABLE.ITEMPARAM = (txtItemParam.Text == string.Empty) ? null : txtItemParam.Text;
            aMENUTABLE.FORM = (txtForm.Text == string.Empty) ? null : txtForm.Text;
            aMENUTABLE.ITEMTYPE = (txtItemType.Text == string.Empty) ? null : txtItemType.Text;
            if (txtSEQ_NO.Text != string.Empty && txtSEQ_NO.Text.Length == 1 && txtSEQ_NO.Text[0] < 58 && txtSEQ_NO.Text[0] > 48)
                txtSEQ_NO.Text = '0' + txtSEQ_NO.Text;
            aMENUTABLE.SEQ_NO = (txtSEQ_NO.Text == string.Empty) ? null : txtSEQ_NO.Text;
            aMENUTABLE.IMAGEURL = (txtImageUrl.Text == string.Empty) ? null : txtImageUrl.Text;
            if (cbStyle.SelectedValue == null)
                aMENUTABLE.ISSERVER = "N";
            else
                aMENUTABLE.ISSERVER = cbStyle.SelectedValue.ToString();
            aMENUTABLE.OWNER = (txtStyleObject.Text == string.Empty) ? null : txtStyleObject.Text;
            List<object> menus = new List<object>();
            menus.Add(aMENUTABLE);
            if (optype == OpType.add || optype == OpType.modify)
            {
                EFClientTools.DesignClientUtility.SaveDataToTable(menus, "MENUTABLE");
            }
            else
            {
                EFClientTools.DesignClientUtility.DeleteDataFromTable(aMENUTABLE, "MENUTABLE");
            }

            if (optype == OpType.add)
            {
                List<object> groupmenus = new List<object>();
                groupmenus.Add(aMENUTABLE.MENUID);
                groupmenus.Add("00");
                EFClientTools.DesignClientUtility.SaveDataToTable(groupmenus, "GROUPMENUS");

                int i = this.infodsMenus.RealDataSet.Tables[0].Rows.Count;
                for (int j = 0; j < i; j++)
                {
                    if (this.infodsMenus.RealDataSet.Tables[0].Rows[j]["menuid"].ToString() == aMENUTABLE.MENUID)
                    {
                        MessageBox.Show("menuid already existed !");
                        curNode = tView.SelectedNode;
                        EnableControl(true);
                        //txtCaption.Enabled = false;
                        //btnReloadTree.Enabled = false;
                        infoCmbSolution.Enabled = false;
                        tView.Enabled = false;
                        optype = OpType.add;
                        iconpath = null;
                        this.txtParent.Text = aMENUTABLE.PARENT;
                        return;
                    }
                }
                //TreeNode addNode = new TreeNode(strAddParam[1].ToString());
                //if (curNode != null)
                //    curNode.Nodes.Add(addNode);
                //else
                //    this.tView.Nodes.Add(addNode);
            }
            //.CallMethod("GLModule", "OPMenu", strAddParam);
            //this.ClearAllText();

            //new add 为了解修改parent后直接刷新的问题 == refresh
            //tView.Nodes.Clear();
            //this.infodsMenus.Active = false;
            //this.infodsMenus.Active = true;
            //ItemToGet();
            //tView.ExpandAll();
            if (optype == OpType.add)
            {
                if (txtParent.Text.Length > 0)
                {
                    TreeNode[] nodeparent = tView.Nodes.Find(txtParent.Text, true);
                    if (nodeparent.Length > 0)
                    {
                        nodeparent[0].Nodes.Add(txtMenuID.Text, txtCaption.Text);
                        nodeparent[0].Expand();
                    }
                }
                else
                {
                    tView.Nodes.Add(txtMenuID.Text, txtCaption.Text);
                }
            }
            else if (optype == OpType.modify)
            {
                TreeNode[] node = tView.Nodes.Find(txtMenuID.Text, true);
                if (node.Length > 0)
                {
                    node[0].Tag = aMENUTABLE;
                    if (string.Compare(cbLanguageID.Text, "Default") == 0)
                    {
                        node[0].Text = txtCaption.Text;
                    }
                    string parentname = (node[0].Parent == null) ? string.Empty : node[0].Parent.Name;
                    if (string.Compare(parentname, txtParent.Text) != 0)
                    {
                        if (txtParent.Text.Length == 0)
                        {
                            node[0].Parent.Nodes.Remove(node[0]);
                            tView.Nodes.Add(node[0]);
                        }
                        else
                        {
                            TreeNode[] nodeparent = tView.Nodes.Find(txtParent.Text, true);
                            if (parentname.Length == 0)
                            {
                                //tView.Nodes.Remove(node[0]);
                            }
                            else
                            {
                                node[0].Parent.Nodes.Remove(node[0]);
                            }
                            if (nodeparent.Length > 0)
                            {
                                nodeparent[0].Nodes.Add(node[0]);
                            }
                        }
                    }
                }
            }
            else
            {
                TreeNode[] node = tView.Nodes.Find(txtMenuID.Text, true);
                if (node.Length > 0)
                {
                    if (node[0].Parent != null)
                    {
                        node[0].Parent.Nodes.Remove(node[0]);
                    }
                    else
                    {
                        tView.Nodes.Remove(node[0]);
                    }
                }
            }
            ////////////////
        }
Ejemplo n.º 3
0
 //当只有1个并且选了大尺寸的情况下会出现外框只有1倍宽内容却是2倍宽的重叠现象
 private void resetColumnCount(MENUTABLE menuTable, ref string columnCount)
 {
     foreach (var menu in menuTable.MENUTABLE1)
     {
         if (menu.ISSHOWMODAL == "m" || menu.ISSHOWMODAL == "h")
         {
             if (columnCount == "1") columnCount = "2";
         }
     }
 }
Ejemplo n.º 4
0
 private string SetFMenuClassForMobileGrid(string menuClass, MENUTABLE menuTable)
 {
     if (menuTable.ISSERVER != null && menuTable.ISSERVER.ToString() == "G")
     {
         if (menuTable.OWNER != null && menuTable.OWNER != "")
         {
             var control = this.Page.FindControl(menuTable.OWNER);
             if (control != null)
             {
                 control.Visible = true;
                 //control.RenderControl(writer);
                 var grid = control as JQDataGrid;
                 var gridTheme = grid.Theme;
                 return menuClass + " ui-content ui-body-" + gridTheme;
             }
         }
     }
     return menuClass;
 }
Ejemplo n.º 5
0
        private String getSize(MENUTABLE menuTable)
        {
            //s:square m:wide l:squarepeek h:widepeek a:app
            String size = "";
            switch (menuTable.ISSHOWMODAL)
            {
                case "m": size = "wide"; break;
                case "l": size = "squarepeek"; break;
                case "h": size = "widepeek"; break;
                case "a": size = "app"; break;
                case "s":
                default:
                    size = "square"; break;
            }

            return size;
        }
Ejemplo n.º 6
0
 private String getCaption(MENUTABLE menuTable)
 {
     String caption = "";
     if (string.Compare(EFClientTools.ClientUtility.ClientInfo.Locale, "zh-cn", true) == 0 || string.Compare(EFClientTools.ClientUtility.ClientInfo.Locale, "zh-hans-cn", true) == 0)
         caption = menuTable.CAPTION2;
     else if (string.Compare(EFClientTools.ClientUtility.ClientInfo.Locale, "zh-tw", true) == 0 || string.Compare(EFClientTools.ClientUtility.ClientInfo.Locale, "zh-hant-tw", true) == 0)
         caption = menuTable.CAPTION1;
     else if (string.Compare(EFClientTools.ClientUtility.ClientInfo.Locale, "zh-hk", true) == 0)
         caption = menuTable.CAPTION3;
     if (String.IsNullOrEmpty(caption))
         caption = menuTable.CAPTION;
     return caption;
 }
Ejemplo n.º 7
0
        private void SetMetro(MENUTABLE menu, HtmlTextWriter writer, ref int iColor)
        {
            String bgColor = menu.VERSIONNO;
            if (String.IsNullOrEmpty(bgColor))
            {
                String[] bgColors = { "orange", "purple", "greenDark", "blue", "red", "green", "blueDark", "yellow", "pink", "darken", "gray", "grayLight" };
                //bgColor = bgColors[Guid.NewGuid().ToByteArray()[0] % 12];
                if (iColor >= bgColors.Length)
                    iColor = 0;
                bgColor = bgColors[iColor++];
            }
            String menuClass = String.Format("tile {0} image bg-color-{1}", getSize(menu), bgColor);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, menuClass);
            String formName = String.Empty;
            if (!String.IsNullOrEmpty(menu.FORM))
                formName = "/" + menu.FORM + ".aspx";
            if (!String.IsNullOrEmpty(menu.PACKAGE) && !String.IsNullOrEmpty(formName))
            {
                //writer.AddAttribute(HtmlTextWriterAttribute.Href, System.IO.Path.Combine(menu.PACKAGE, formName));
                if (!IsForCloud)
                    writer.AddAttribute(HtmlTextWriterAttribute.Onclick, String.Format("addTab('{0}', '{1}?{2}')", menu.CAPTION, menu.PACKAGE + formName, menu.ITEMPARAM));
                else
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Onclick, String.Format("openForm({{MODULETYPE:'{0}', FORM:'{1}', MENUID:'{2}', CAPTION:'{3}'}})", menu.MODULETYPE, menu.FORM, menu.MENUID, menu.CAPTION));
                }
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Id, String.Format("Menu{0}", menu.MENUID));
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            if (menu.ISSERVER != null && menu.ISSERVER.ToString() != "N" && menu.ISSERVER != "I" && menu.ISSERVER != "T")
            {
                #region metro作为控件使用在页面呈现其他类型时候
                if (menu.OWNER != null && menu.OWNER != "")
                {
                    var control = this.Page.FindControl(menu.OWNER);
                    if (control != null)
                    {
                        if (menu.ISSERVER == "G" || menu.ISSERVER == "F")
                        {
                            control.Visible = true;
                            control.RenderControl(writer);
                            control.Visible = false;
                        }
                        else if (menu.ISSERVER == "C" || menu.ISSERVER == "D")
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ID + "_" + control.ID);
                            writer.RenderBeginTag(HtmlTextWriterTag.Div);
                            writer.RenderEndTag();//div
                            System.Reflection.PropertyInfo p = control.GetType().GetProperty("RenderObjectID");
                            if (p != null)
                            {
                                p.SetValue(control, this.ID + "_" + control.ID, null);
                            }
                        }
                    }
                }
                #endregion
            }
            else
            {
                #region metro 呈现MenuTable资料
                if (menu.ISSERVER == "I" || menu.ISSERVER == "T")
                {
                    var control2 = this.Page.FindControl(menu.OWNER);
                    if (control2 != null && control2.GetType() == typeof(JQRotator))
                    {
                        (control2 as JQRotator).MenuID = menu.MENUID;
                    }
                }

                if (!String.IsNullOrEmpty(menu.IMAGEURL))
                {
                    var initialDir = string.Format("Image/MenuTree/Metro_{0}", menu.IMAGEURL);
                    if (SubFolder)
                        initialDir = "../" + initialDir;
                    writer.AddAttribute(HtmlTextWriterAttribute.Src, initialDir);
                    writer.AddAttribute(HtmlTextWriterAttribute.Id, String.Format("Menu{0}IMG", menu.MENUID));
                    writer.RenderBeginTag(HtmlTextWriterTag.Img);
                    writer.RenderEndTag();//Img
                }
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "textover-wrapper transparent");
                writer.AddAttribute(HtmlTextWriterAttribute.Id, String.Format("Menu{0}DIV", menu.MENUID));
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.AddAttribute(HtmlTextWriterAttribute.Id, String.Format("Menu{0}DIVtext", menu.MENUID));
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "text2");
                var title = getCaption(menu);
                writer.AddAttribute(HtmlTextWriterAttribute.Title, title);
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.Write(title);
                writer.RenderEndTag();//Div text2
                writer.RenderEndTag();//Div textover-wrapper bg-color-blueDark
                #endregion
            }
            writer.RenderEndTag();//A tile wide imagetext wideimage bg-color-blue
            foreach (MENUTABLE v in menu.MENUTABLE1)
            {
                SetMetro(v, writer, ref iColor);
            }
        }
Ejemplo n.º 8
0
 //当只有1个并且选了大尺寸的情况下会出现外框只有1倍宽内容却是2倍宽的重叠现象
 private void resetColumnCount(MENUTABLE menuTable, ref string columnCount)
 {
     int count = 0;
     if (Int32.TryParse(columnCount, out count))
     {
         if (count > 3) return;
         int p = 0;
         foreach (var menu in menuTable.MENUTABLE1)
         {
             if (menu.ISSHOWMODAL == "m" || menu.ISSHOWMODAL == "h")
             {
                 p++;
             }
         }
         if (columnCount == "1" && p == 1) columnCount = "2";
         else if (columnCount == "2" && p == 1) columnCount = "3";
         else if (columnCount == "2" && p == 2) columnCount = "4";
         else if (columnCount == "3" && p >= 1) columnCount = "4";
     }
 }
Ejemplo n.º 9
0
        private string getStyle(MENUTABLE menuTable)
        {
            String Style = "";
            switch (menuTable.ISSERVER)
            {
                case "G": Style = "DataGrid"; break;
                case "F": Style = "DataForm"; break;
                case "C": Style = "Chart"; break;
                case "D": Style = "Dashboard"; break;
                case "I": Style = "Image"; break;
                case "T": Style = "Text"; break;
                case "N":
                default:
                    Style = "None"; break;
            }

            return Style;
        }