Saturday, January 19, 2013

Dynamic Menu in VB.Net

Imports System
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlClient.SqlDataAdapter
Imports System.Windows.Forms.DataGridView
Imports System.Windows.Forms
Imports System.Windows.Forms.Form
Imports System.ComponentModel

Public Class Form1
    Dim con As SqlConnection
    Dim cmd As SqlCommand
    Dim da As SqlDataAdapter
    Dim dr As SqlDataReader
    Dim ds As DataSet
    Dim dt As New DataTable
    Dim sql As String
    Dim i As Integer
    Dim icount As Integer

    Private Sub RedToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RedToolStripMenuItem.Click
        BackColor = Color.Red
    End Sub

    Private Sub GreenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GreenToolStripMenuItem.Click
        BackColor = Color.Green
    End Sub

    Private Sub BlueToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BlueToolStripMenuItem.Click
        BackColor = Color.Blue
    End Sub

    Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        Close()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'MenuStrip1.Items.Add("A")
        'MenuStrip1.Items.Add("B")
        'MenuStrip1.Items.Add("C")

        Dim iTemp As Integer
        Try
            con = New SqlConnection("Data Source=DUMMYSERVER;Initial Catalog=PERDB;Persist Security Info=True;User ID=SA;Password=SA")
            con.Open()
            sql = "select * from menu_item"
            da = New System.Data.SqlClient.SqlDataAdapter(sql, con)
            da.Fill(dt)
            DataGridView1.DataSource = dt
            icount = dt.Rows.Count
            iTemp = icount

            For Each row As DataRow In dt.Rows
                If Not row.Item("MASTER").Equals(System.DBNull.Value) Then
                    AToolStripMenuItem.DropDownItems.Add(dt.Rows.Item(iTemp - icount).Item("MASTER"), Nothing, New System.EventHandler(AddressOf Me.MenuClick))
                End If
                If Not row.Item("TRANSAC").Equals(System.DBNull.Value) Then
                    BToolStripMenuItem.DropDownItems.Add(dt.Rows.Item(iTemp - icount).Item("TRANSAC"), Nothing, New System.EventHandler(AddressOf Me.MenuClick))
                End If
                If Not row.Item("REPORTS").Equals(System.DBNull.Value) Then
                    CToolStripMenuItem.DropDownItems.Add(dt.Rows.Item(iTemp - icount).Item("REPORTS"), Nothing, New System.EventHandler(AddressOf Me.MenuClick))
                End If
                icount = icount - 1
            Next

            'i = Me.DataGridView1.Rows.Count
            'While (x <= i - 2)
            'AToolStripMenuItem.DropDownItems.Add("" & DataGridView1.Item(0, x).Value & "")
            'BToolStripMenuItem.DropDownItems.Add("" & DataGridView1.Item(1, x).Value & "")
            'CToolStripMenuItem.DropDownItems.Add("" & DataGridView1.Item(2, x).Value & "")
            'x = x + 1
            'End While

        Catch es As Exception
            MsgBox(es.Message)
        End Try
        con.Close()
    End Sub

    Sub MenuClick(ByVal sender As Object, ByVal e As System.EventArgs)
        MessageBox.Show("You selected the command " & sender.text & " of the File menu")
        'Process.Start("D:\FE\exe\" & sender.text & ".exe")
    End Sub

End Class

No comments:

Post a Comment