分享

Menu 控件绑定到Sql Server

 悟静 2011-07-16

Source Code:

  #region "menu 分层菜单的数据库 SQL SERVER 2000 绑定的操作"

    protected void initMenu()
    {
        DataTable dt = GetViewTable();
        DataView dv = new DataView(dt);
        dv.RowFilter = "TreeParentID='0'";
        string strMLinkL = "";

        foreach (DataRowView drv in dv)
        {

            strMLinkL = drv["MLinkL"].ToString().Trim();

            MenuItem node = new MenuItem();
            node.Text = drv["TreeName"].ToString();
            node.Value = drv["TreeValue"].ToString();
            node.NavigateUrl = drv["TreeLink"].ToString().Trim()+"?strMLinkL="+strMLinkL;
            node.ImageUrl = drv["TreeIco"].ToString().Trim();
            node.Target = drv["TreeStr"].ToString();
            Menu1.Items.Add(node);

        //    AddNodes(dt, node);
        //    子节点
        }


    }

    protected DataTable GetViewTable()
    {
        string strConn = "server =.;uid =sa;pwd =;database =Aspnet";
        SqlConnection myConn = new SqlConnection(strConn);
        string strSql = "select * from MenuTb ";
        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 = "TreeParentID ='" + pNode.Value+"'";
        foreach (DataRowView drv in dv)
        {
            MenuItem menuNode = new MenuItem();
           
            menuNode.Value = drv["TreeValue"].ToString();
            menuNode.Text = drv["TreeName"].ToString();
            menuNode.ImageUrl = drv["TreeIco"].ToString().Trim();
            menuNode.NavigateUrl = drv["TreeLink"].ToString().Trim();
            menuNode.Target = drv["TreeStr"].ToString();
            pNode.ChildItems.Add(menuNode);

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

        }

    }
    #endregion

}

DataBase Design :

1 ID int 4 0
0 TreeParentID char 20 1
0 TreeValue char 20 1
0 TreeName char 20 1
0 TreeLink nvarchar 50 1
0 TreeStr varchar 50 1
0 TreeIco char 20 1
0 MLinkL char 20 1

 (Notes: the First 1 or 0  mean:    1: mark is yes ;

the Next 1 or 0 mean :  0: not allow null)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多