Foros del Web » Programación para mayores de 30 ;) » .NET »

MenuStrip dinamico desde SQL alguien me da la mano [Urgente]

Estas en el tema de MenuStrip dinamico desde SQL alguien me da la mano [Urgente] en el foro de .NET en Foros del Web. Fíjense que me he estado dando duro con eso que no puedo lograr alguien es tan amable o si tiene algún ejemplo sobre como crear ...
  #1 (permalink)  
Antiguo 09/04/2010, 12:07
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta MenuStrip dinamico desde SQL alguien me da la mano [Urgente]

Fíjense que me he estado dando duro con eso que no puedo lograr alguien es tan amable o si tiene algún ejemplo sobre como crear en un form un menustrip desde alguna base de datos mysql. fíjense que cree una clase que me hace la consulta pero no me genera el menú suponiendo tengo un archivo de clase:

Código:
Public Function GenerarMenu(ByVal flag As Boolean, ByVal usuario As String, ByVal ip As Integer, ByVal opc As MainMenu.MenuItemCollection) As System.Windows.Forms.MainMenu
        Dim tabla As DataTable
        Dim mMenu As MenuItem
        If flag = True Then
           tabla = ObOp.Consultar("select idopc, cnomopc,caccion,cdescripcion from menu where cgrp='admin'))")
        End If
        Dim dvArbol As DataView
        dvArbol = New DataView(tabla)
        dvArbol.RowFilter = tabla.Columns(3).ColumnName + "=" + ip.ToString
        For Each dractual As DataRowView In dvArbol
            Dim t As New MenuItem
            t.Name = dractual.Item(0)
            t.Text = dractual.Item(1)
            t.Tag = dractual.Item(2)
            If opc Is Nothing Then
                mMenu.MenuItems.Add(t)
            Else
                opc.Add(t)
                AddHandler t.Click, AddressOf opciones_click
            End If
            GenerarMenu(False, usuario, t.Name, t.MenuItems)
        Next dractual
        Return GenerarMenu
    End Function
 Private Sub opciones_click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim t As MenuItem
        t = CType(sender, MenuItem)
        Dim formulario As New Form
        Dim tipo As System.Type
        If t.Text = "sasSalir" Then
            form_login.Close()
        Else
            Try
                tipo = Type.GetType("ADUS." & t.Tag)
                formulario.Show()
            Catch ex As Exception
                MessageBox.Show("El programa no existe")
            End Try
        End If
    End Sub
Entonces en mi formulario principal hago una prueba llamando directamente el método así:
Código:
Call mUsr.GenerarMenu(True, 1, 1, Nothing)
Mi formulario es este:

Código:
Public Class MenuUsuario
    Inherits System.Windows.Forms.Form
    Public usuario As String
    Private mUsr As New clsClasedeArriba
    Private Sub Menu_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If usuario Is Nothing Then
            'vacio
        Else
            'Probando el numero 1
            Call mUsr.GenerarMenu(True, 1, 1, Nothing)
        End If
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
        form_login.Close()
    End Sub
End Class
Pero al ejecutarlo el formulario no me muestra el menú debo hacer algo mas? tienen algún ejemplito. Gracias!
  #2 (permalink)  
Antiguo 09/04/2010, 12:58
Avatar de lucasmoadr  
Fecha de Ingreso: marzo-2007
Ubicación: Llavallol, Buenos Aires
Mensajes: 220
Antigüedad: 12 años, 10 meses
Puntos: 5
Respuesta: MenuStrip dinamico desde SQL alguien me da la mano [Urgente]

En donde agregas el control al formulario?????
creo que te faltaria agregar el control
__________________
Alquileres en la costa
Se tu mismo
  #3 (permalink)  
Antiguo 09/04/2010, 13:14
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: MenuStrip dinamico desde SQL alguien me da la mano [Urgente]

En donde dice nothing
Código:
mUsr.GenerarMenu(True, 1, 1, Nothing)
Allí mando el nombre del menustrip mmmh soy nuevo en esto, gracias!

Mira no tendrás algún ejemplo simple, creo que yo me estoy complicando demasiado XD!
  #4 (permalink)  
Antiguo 09/04/2010, 13:20
Avatar de lucasmoadr  
Fecha de Ingreso: marzo-2007
Ubicación: Llavallol, Buenos Aires
Mensajes: 220
Antigüedad: 12 años, 10 meses
Puntos: 5
Respuesta: MenuStrip dinamico desde SQL alguien me da la mano [Urgente]

creo que lo mejor que puedes hacer es llamar a un metodo que te devuelva la coleccion de items y luego lo agregas al control.

Una vez agregado lo agregas al form y listo.
__________________
Alquileres en la costa
Se tu mismo
  #5 (permalink)  
Antiguo 09/04/2010, 13:48
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: MenuStrip dinamico desde SQL alguien me da la mano [Urgente]

Pero un método puede devolver valores? yo estaba usando funciones por eso.

Creo que si estoy perdido en visual tengo un par de días en este lenguaje, he estado trabajaba con java sobre todo. y ahora estoy haciendo este trabajo y aunque se veía sencillo me parece que necesito un ejemplo en concreto, lo que encontré fue algo de oledb que lo trate de adaptar a mysqladapter pero no lo logre gracias por su ayuda amigo.

Última edición por codeando; 09/04/2010 a las 13:54
  #6 (permalink)  
Antiguo 18/08/2010, 17:23
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: MenuStrip dinamico desde SQL alguien me da la mano [Urgente]

buenas tarde este codigo te genera el menu desde la base de datos pero no te genera el submenu de cada item si sabes como hacerlo e seria de gran ayuda.

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

Dim mnuOpcion As ToolStripMenuItem
Dim dataconnect As New SqlConnection(ConfigurationManager.ConnectionStrin gs("dbconect").ConnectionString)
Dim db As New SqlDataAdapter("SELECT * FROM proceso", dataconnect)
Dim dt As New DataTable
Dim ds As New DataSet
db.Fill(dt)
For Vpos1 = 0 To dt.Rows.Count - 1
mnuOpcion = New ToolStripMenuItem(Trim(dt.Rows(Vpos1).Item("detall e").ToString()))
mnuOpcion.Tag = Trim(dt.Rows(Vpos1).Item("detalle").ToString())
'añadir este menu desplegable a la barra de menu principal
MenuStrip1.Items.Add(mnuOpcion)
'Vcondicion = "cve_modu='" & dt.Rows(Vpos1).Item("cve_modu").ToString() & "' and nivel=2"
'recorrer si hubiera las opciones derivadas de este menu
CrearSubopciones(mnuOpcion, dt.ToString)
Next

End Sub

Private Sub CrearSubopciones(ByVal mnuOpcion As ToolStripMenuItem, ByVal cond As String)
Dim mnusubOpcion As ToolStripMenuItem
Dim dataconnect As New SqlConnection(ConfigurationManager.ConnectionStrin gs("dbconect").ConnectionString)
Dim dbl As New SqlDataAdapter("SELECT proceso.codigoproceso, indicador.detalles FROM proceso INNER JOIN indicador ON proceso.codigoproceso = indicador.codigoproceso", dataconnect)
Dim dtl As New DataTable
dbl.Fill(dtl)

For Vpos1 = 0 To dtl.Rows.Count - 1


mnusubOpcion = New ToolStripMenuItem(Trim(dtl.Rows(Vpos1).Item("detal les").ToString()))
mnusubOpcion.Tag = Trim(dtl.Rows(Vpos1).Item("detalles").ToString())

mnuOpcion.DropDownItems.Add(mnusubOpcion)

Next

End Sub

Etiquetas: dinamico, mano, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:34.