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); } }
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(); } } }
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++; } }