lunes, 27 de agosto de 2012

Datagridview desplegable en Visual Basic.NET

en este ejemplo vamos a utilizar 2 combobox, 2 datagridviews, lo que haremos sera al dar click en el combo se despliegue una lista como en la figura
primero declaramos 2 variables
Private WithEvents mClass1 As Class1
Private WithEvents mClass2 As Class1
en el evento Load del formulario escribimos este codigo
        With DataGridView1
            .Columns.Add("id", "Id")
            .Columns.Add("Producto", "Producto")
            .Columns.Add("Precio", "Precio")
            .Columns.Add("stock", "Stock actual")
            .Columns.Add("Proveedor", "Contacto Proveedor")

            .RowCount = 100

            For i As Integer = 0 To .RowCount - 1
                .Item(0, i).Value = i.ToString
                .Item(1, i).Value = "Producto " & i.ToString
                .Item(2, i).Value = Format(225 + i, "c")
                .Item(3, i).Value = CInt(Rnd() * 100)
                .Item(4, i).Value = "Proveedor: " & i.ToString
            Next
        End With

        With DataGridView2
            .Columns.Add("id Cliente", "id Cliente")
            .Columns.Add("Nombre", "Nombre")
            .Columns.Add("Apellido", "Apellido")

            .RowCount = 100

            For i As Integer = 0 To .RowCount - 1
                .Item(0, i).Value = i.ToString
                .Item(1, i).Value = "Nombre  " & i.ToString
                .Item(2, i).Value = "Apellido" & i.ToString

            Next

        End With

        With mClass1
            ' indicar el combo y el datagridview
            .Iniciar(ComboBox1, DataGridView1)

            .AltoLista = 400 ' alto
            .ColumnaDefault = 1 ' columna que se va a mostrar
            .ShowToolTip = True ' mostrar o no el toolTiptext
            .ShowDialog = False  ' modal o normal

        End With

        mClass2 = New Class1

        With mClass2
            .Iniciar(ComboBox2, DataGridView2)
            .AltoLista = 120
            .AnchoLista = 350
            .ColumnaDefault = 0
            .ShowDialog = True

            .ShowToolTip = True
        End With

        ComboBox1.Items.Add(DataGridView1.Item(1, 0).Value.ToString)
        ComboBox1.SelectedIndex = 0

        ComboBox2.Items.Add(DataGridView1.Item(0, 0).Value.ToString)
        ComboBox2.SelectedIndex = 0
y finalmente tenemos este codigo que crea el boton cerrar en la esquina del grid
    Private Sub mClass1_ButtonClose() Handles mClass1.onButtonClose
        mClass1.closeList()
    End Sub
    Private Sub mClass2_ButtonClose() Handles mClass2.onButtonClose
        mClass2.closeList()
    End Sub
aqui pueden descargar el codigo completo
Descargar

0 comentarios:

Publicar un comentario