vs2005 menu 无限循环 自动绑定下拉菜单内容

微信小程序|基于小程序实现人脸识别对比 此文主要通过小程序实现对比人脸相似度,并返回相似度分值,可以基于分值判断是否为同一人。人脸登录、用户认证等场景都可以用到。 阅读详情

 前年写了一遍 Vs 2005 treeview无限循环的文章http://blog.csdn.net/SpriteNet/archive/2008/04/02/2245363.aspx,最后提到说稍微修改可以用到 menu 控件上,最近项目用到了menu的绑定数据库,思路和treeview一样,也是递归的办法,具体如何实现,咱们下次再说,先吃饭,占个地方。。。。。。。(*^__^*) 嘻嘻……

 

 

///////////////////////////

 

回来了,咱们继续

 

先说表结构吧,表结构其实和《Vs 2005 treeview无限循环》的结构是一样的,不过就是多了一个记录url的字段,大家可以看看《Vs 2005 treeview无限循环》的内容。

 

以下是相关代码:

1.皮肤样式

<%--Menu--%>
<asp:Menu runat="server" SkinID="MgeShow"
MaximumDynamicDisplayLevels="3"    Orientation="Horizontal" StaticDisplayLevels="2"
 BackColor="#396395" Font-Overline="False" ForeColor="#E0E0E0" Font-Size="30pt"  StaticSubMenuIndent="" StaticEnableDefaultPopOutImage="False" Font-Bold="True">
   <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="4px"/>
   <DynamicHoverStyle BackColor="#7AB0EF" ForeColor="#ffffff" />
   <DynamicMenuStyle BackColor="#4982C5" BorderColor="#396395" BorderStyle="Outset" BorderWidth="1px" ForeColor="#FF7E00"/><%--Height="30px" HorizontalPadding="10px"--%>
   <StaticSelectedStyle BackColor="#396395" ForeColor="#E0E0E0" /> <%--无二级菜单时的一级样式--%>
   <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="4px" Font-Strikeout="False" Height="24px" />
   <StaticHoverStyle BackColor="#4982C5" ForeColor="#ffffff" /> <%--导航第一级鼠标放上背景颜色和字体颜色--%> 
</asp:Menu>

 

 

2.cs

 

    protected void initMenu()
    {
        DataTable dt = GetViewTable();
        DataView dv = new DataView(dt);
        dv.RowFilter = "QB_Fid='0'";
 
        foreach (DataRowView drv in dv)
        {
            MenuItem node = new MenuItem();
            node.Text = drv["QB_Name"].ToString();
            node.Value = drv["QB_Id"].ToString();
            node.NavigateUrl = drv["QB_Url"].ToString().Trim();
            Menu1.Items.Add(node);

            AddNodes(dt, node);

        }


    }

    protected DataTable GetViewTable()
    {
        string strConn = System.Configuration.ConfigurationManager.AppSettings["strconnC"];
        SqlConnection myConn = new SqlConnection(strConn);
        string strSql = "select * from QX_Base where QB_JY=0 order by QB_Fid,QB_Sort";
        SqlDataAdapter myDa = new SqlDataAdapter(strSql, myConn);
        DataTable dt = new DataTable();
        myDa.Fill(dt);

            return dt;


    }

    /// <summary>
    /// 子节点添加
    /// </summary>
    /// <param name="dt">数据表</param>
    /// <param name="pNode"></param>
    protected void AddNodes(DataTable dt, MenuItem pNode)
    {
        DataView dv = new DataView(dt);

        dv.RowFilter = "QB_Fid =" + pNode.Value ;
        foreach (DataRowView drv in dv)
        {
            MenuItem menuNode = new MenuItem();

            menuNode.Text = drv["QB_Name"].ToString();
            menuNode.NavigateUrl = drv["QB_Url"].ToString().Trim();
            menuNode.Value = drv["QB_Id"].ToString();
            pNode.ChildItems.Add(menuNode);

            //loop循环
            AddNodes(dt, menuNode);

        }

    }

 

 

 

效果如下图:

 

 

 

////////////////

 

以上只是思路,希望大家不要直接粘贴就用,多理解一下

解锁Gemini+Google Sheets/Excel:数据分析自动化新姿势 本文介绍了如何将谷歌AI工具Gemini集成到Google Sheets和Excel中进行智能数据分析。主要内容包括:1) Gemini的功能特点,具备语言理解和生成能力;2) 在Google Sheets中的集成步骤,包括订阅Workspace、开启Gemini功能及使用方法;3) 通过第三方插件在Excel中使用Gemini的方法;4) 销售和财务数据分析的实际案例;5) 使用时的注意事项,包括数据安全、问题处理和常见错误解决。通过Gemini集成,用户可以实现高效的数据处理和智能分析,提升工作效率。 阅读详情

相关推荐

.net Menu控件动态绑定数据库(C#)css样式

asp.net 2.0Menu控件动态绑定数据库。资源内包含:数据库、实例代码!css样式文件 对不起,这里的数据库文件我忘记放里了,您可以下载另一个版本! 谢谢 有问题请与QQ:24394180联系

layui递归生成多级菜单

两种方式,前端直接读取已有的json文件或者请求后端来动态生成json数据。 首先把js贴上。 //dynamicMenu.js 主要的js文件 ;(function($) { var SidebarMenu = function($element, options) { this.$element = $element; this.options = $.e...

fjgdfgjj的个人博客 4468

边坡稳定STAB_土质边坡_土质边坡稳定分析程序_

进行土质边坡静动力分析使用程序,进行边坡多种工况下稳定分析

Menu菜单(实现代码)

一、在Xml里面 &lt;android.support.v7.widget.Toolbar android:id="@+id/mToolbar" style="@style/AppTheme.Toolbar" android:background="@drawable/blue_gradient_bg" app:navigati...

Natty的博客 1251

vs2005Menu功能简单使用

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Menu.aspx.cs" Inherits="Menu" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml...

weixin_30289831的博客 219

VS2010 MFC Dialog类的MENU菜单的单选、复选、菜单位图及右键弹出菜单教程(附源码)

新建空白工程: 资源底部有源码,可以搭配源码来看。 在这里,我不将空白对话框作为Menu菜单的窗口,我们新建一个窗口: 右键添加AddResource ->MENU 依次类推: 我们给对话窗口添加一个类,方便我们做管理: 接下来给按钮添加响应,如图所示: 选择我们刚才新建的对话类窗口: 菜单栏单选 void CTOOLBOXMENU::On32774() { // TODO: 我们在ID_32774这个菜单上实现 单选。 //我们的[菜单栏学习]->[打开]->子菜单是从327

CDamogu 2187

Menu控件绑定数据库数据代码

     因为SqlDataSource控件还是ObjectDatasource控件都没有实现IHierarchicalDataSource接口,所以Menu控件表现数据库数据,有两种方法:    一、创建自己的SqlHierachicalDataSource控件。就是继承IHierarchicalDataSource基类。    二、通过编程的方法为Menu控件创建菜单项目。

love_c2004的专栏 1338

iview给布局MenuItem标签绑定点击事件

 @click.native="info" &lt;template&gt; &lt;div class="index"&gt; &lt;Menu mode="horizontal" :theme="theme1" active-name="1"&gt; &lt;div class="menu

明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间。转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。 但愿人长久,千里共婵娟。 8908

menu控件绑定sql数据库

1 public int treeID; 2 3 protected void Page_Load(object sender, EventArgs e) 4 { 5 SqlConnection CN = new SqlConnection("Data Source=.;Initial Catalog=TD;Integrated Sec...

weixin_30938149的博客 169

VS.NET 2005中动态绑定menu控件

protected void Page_Load(object sender, EventArgs e)        ...{            DataTable dt = SQLHelper.Fill("select * from menus");            string parentMenuFilter = "ParentMenu=0";            Bind

哈利路亚的收藏夹 1081

EasyUI Tree+Asp.net实现权限树或目录树导航

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="Manage_Main" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/T...

diehe5608的博客 376

7章7节for死循环简单menu程序

#include int menu();void DoTaskOne();void DoTaskMany(int);using namespace std;int main(){ bool exit = false; for ( ; ; ) {  int choice = menu();  switch(choice)  {  case(1):   DoTaskOne();  

天堂De游鱼C++学习 1131
上一篇: TP SL400 拆机 清理风扇小记
下一篇: C# 2005 webform上传图片并生成缩略图
摇滚雪碧
博客等级 码龄18年 52粉丝 70原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值