人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

運用遞歸從數據庫讀取數據來動態創建菜單

運用遞歸從數據庫讀取數據來動態創建菜單

更新時間:2022-09-05 文章作者:未知 信息來源:網絡 閱讀次數:

表結構與內容

MenBh            MenText     Bhparent

 

0001             文件         

0002             編輯         

0005             打開          0001

0006             新建          0001

0011             access數據庫  0006

0012             VFPDbf      0006

0013             剪切          0002

0014             復制          0002

0015            完全復制       0014

 

 

    

Private m As New MainMenu()

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim conn As New SqlConnection("server=localhost;uid=sa;pwd=;database=jiang")

        Dim cmd As New SqlCommand("select * from a_menu ", conn)

        Dim ds As New DataSet()

        Dim sqldpr As New SqlDataAdapter(cmd)

        sqldpr.Fill(ds, "menu")

        Me.DataGrid1.DataSource = ds.Tables("menu")

        '創建關系

        Dim dr As New DataRelation("self_menu", ds.Tables("menu").Columns("MenBh"), ds.Tables("menu").Columns("Bhparent"))

        ds.Relations.Add(dr)

        Dim r1 As DataRow

        '查找最高的菜單級別,也就是Bhparent列為空的行

        For Each r1 In ds.Tables("menu").Rows

            If r1.IsNull("Bhparent") Then

                addmenuitem(r1, Nothing)

            End If

        Next

        Me.Menu = m '指定主窗體菜單

    End Sub

    '遞歸函數

    Private Sub addmenuitem(ByVal r As DataRow, ByVal item As MenuItem)

        Dim mi As MenuItem

        '如果是最外層菜單,要直接添加

        If item Is Nothing Then

            mi = m.MenuItems.Add(r.Item("MenText"))

        Else '如果是下級菜單要在菜單項的上級添加

            mi = item.MenuItems.Add(r.Item("MenText"))

        End If

        Dim r2 As DataRow

        For Each r2 In r.GetChildRows("self_menu")

            addmenuitem(r2, mi)

        Next

    End Sub

'--------------------------------------------------------一種方法的改進

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

繼承自menuitem的類

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

Public Class mymenuitem

Inherits System.Windows.Forms.MenuItem

 

Public Sub New(ByVal s As String, ByVal tag As String)

        MyBase.New()

        Me.Text = s

        m_tag = tag

    End Sub

    Private m_tag As String

    Public Property tag() As String

        Get

            Return m_tag

        End Get

        Set(ByVal Value As String)

            m_tag = Value

        End Set

End Property

  End class


[1] [2]  下一頁

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 河北省| 嘉定区| 叶城县| 安阳县| 双流县| 达州市| 新邵县| 彰武县| 诏安县| 望都县| 杂多县| 武胜县| 峨边| 浦城县| 迭部县| 射阳县| 西安市| 张家口市| 长武县| 无极县| 肥东县| 湛江市| 兴文县| 拉孜县| 东光县| 固阳县| 安阳县| 揭西县| 临澧县| 金寨县| 望奎县| 汾西县| 汉沽区| 两当县| 贵州省| 辉县市| 新巴尔虎右旗| 山阳县| 东乡县| 清水县| 淮阳县|