示例#1
0
        private bool HasChild(string parentid)
        {
            DataTableStd dtt      = DataTableStd.ParseStd(DataSource);
            DataTableStd dttLevel = dtt.SelectByWhere(ColumnMap_ParentFunctionID + "='" + parentid + "'");

            if (dttLevel.RowLength > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#2
0
        protected void BuildMenu(int level, string parentid, HtmlTextWriter writer)
        {
            DataTableStd dtt = DataTableStd.ParseStd(DataSource);

            string where = ColumnMap_FunctionLevel + "=" + level;
            if (!string.IsNullOrEmpty(parentid))
            {
                where += " AND " + ColumnMap_ParentFunctionID + "='" + parentid + "'";
            }
            DataTableStd dttLevel = dtt.SelectByWhere(where);

            for (int i = 0; i < dttLevel.RowLength; i++)
            {
                string functionid = ComFunc.nvl(dttLevel[i, ColumnMap_FunctionID]);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "toolbar");
                writer.RenderBeginTag(HtmlTextWriterTag.Li);
                if (ComFunc.nvl(dttLevel[i, ColumnMap_FunctionUrl]) != "")
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, ConvertUrl(ComFunc.nvl(dttLevel[i, ColumnMap_FunctionUrl])));
                    writer.AddAttribute("target", "iFrameRight");
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    writer.Write(ComFunc.nvl(dttLevel[i, ColumnMap_FunctionName]));
                    writer.RenderEndTag();
                }
                else
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:");
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    writer.Write(ComFunc.nvl(dttLevel[i, ColumnMap_FunctionName]));
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();
                //如果含有子菜单
                if (HasChild(functionid))
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.Span);
                    //ul
                    writer.RenderBeginTag(HtmlTextWriterTag.Ul);
                    BuildMenu(level + 1, functionid, writer);
                    writer.RenderEndTag();

                    writer.RenderEndTag();
                }
            }
        }
示例#3
0
        protected void BuildLevel1(HtmlTextWriter writer)
        {
            DataTableStd dtt = DataTableStd.ParseStd(DataSource);

            string where = ColumnMap_FunctionLevel + "=1";
            DataTableStd dttLevel   = dtt.SelectByWhere(where);
            int          leve1Index = 0;

            for (int i = 0; i < dttLevel.RowLength; i++)
            {
                string functionid = ComFunc.nvl(dttLevel[i, ColumnMap_FunctionID]);

                writer.AddAttribute(HtmlTextWriterAttribute.Id, "menuLevel1_" + functionid);
                writer.AddAttribute("functionid", functionid);
                writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "ShowMenu(this," + leve1Index + ");");
                writer.RenderBeginTag(HtmlTextWriterTag.H1);

                writer.RenderBeginTag(HtmlTextWriterTag.A);
                writer.Write(ComFunc.nvl(dttLevel[i, ColumnMap_FunctionName]));
                writer.RenderEndTag();

                writer.RenderEndTag();

                writer.AddAttribute(HtmlTextWriterAttribute.Class, "no");
                writer.RenderBeginTag(HtmlTextWriterTag.Span);
                //ul
                writer.RenderBeginTag(HtmlTextWriterTag.Ul);
                //如果含有子菜单
                if (HasChild(functionid))
                {
                    BuildMenu(2, functionid, writer);
                }
                writer.RenderEndTag();
                writer.RenderEndTag();

                leve1Index++;
            }
        }