Anda di halaman 1dari 4

55 - Formulario Maestro detalle

Volver [1]- Anterior [2]- Siguiente [3]

Cdigo de ejemplo en Visual Basic.NET para crear


un formulario Maestro Detalle utilizando dos
controles DataGridView
El formulario contiene dos DataGridview. El DataGridView1 es para la tabla maestro donde
se cargan los regisros de una tabla (tabla clientes) , y en el otro control DatagridView, los
datos de la tabla pedidos para el detalle
Ambas tablas tienen un campo en comn, (IdCliente). Al seleccionar un registro del DV
Maestro, se visualiza en el detalle , el o los pedidos de ese cliente en el otro DV
Para el ejemplo se necesita:
colocar dos controles DataGridview en el formulario ( llamados DvMaestro y DvDetalle )
Indicar el campo en comn para ambas tablas en la variable 'campo_Relacionado'.
Indicar las consultas sql para cargar los registros en ambas grillas
Formulario

Cdigo fuente
1. Option Explicit On
2. Option Strict On
3. Imports System.Data.SqlClient
4. Public Class Form1
5. ' cadena de conexin
6.
7.
8.

Private Const cs As String = "Data Source=(local)\SQLEXPRESS;" & _


"Initial Catalog=la_base_de_datos_sql;" & _
"Integrated Security=true"

9. ' campo relacionado para las dos tablas


10. ' '''''''''''''''''''''''''''''''''''''''''''''''''''''
11.
12.

Private Const campo_Relacionado As String = "IdCliente"


Private Sub Form1_Load( _

13.
14.

ByVal sender As System.Object, _


ByVal e As System.EventArgs) Handles MyBase.Load

15.
16.
17.

' crear nueva conexin


Dim conexion As New SqlConnection(cs.ToString)
' abrir la conexin con la base de datos

18.
19.

conexion.Open()
' Nuevo objeto Dataset

20.
21.

Dim DataSet As New DataSet


' ''''''''''''''''''''''''''''''''''''''''''''''''''''

22.
23.

' DataGridView maestro


' ''''''''''''''''''''''''''''''''''''''''''''''''''''

24.
25.

Dim Adaptador As New SqlDataAdapter()


Dim comando As New SqlCommand

26.
27.
28.

With comando
' Asignar el sql para seleccionar los datos de la tabla Maestro
.CommandText = "SELECT idcliente,Nombre,Apellido FROM tClientes"

29.
30.

.Connection = conexion
End With

31.
32.

With Adaptador
.SelectCommand = comando

33.
34.
35.
36.
37.

' llenar el dataset


Adaptador.Fill(DataSet, "Maestro")
End With
' Enlazar el DataGridView al dataset
With DvMaestro

38.
39.

.DataMember = "Maestro"
.DataSource = DataSet

40.
41.

.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.DefaultCellStyle.BackColor = Color.AliceBlue

42.
43.

End With
' ''''''''''''''''''''''''''''''''''''''''''''''''''''

44.
45.
46.

' DataGridView detalle


' ''''''''''''''''''''''''''''''''''''''''''''''''''''
With comando

47.
48.
49.

' cadena sql para cargar la tabla pedidos


.CommandText = "SELECT idcliente,FechaPedido, FechaEntrega,Monto,Destino FROM tPedidos"
End With

50.
51.

With Adaptador
.SelectCommand = comando

52.
53.
54.

' llenar el dataset


Adaptador.Fill(DataSet, "Detalle")
End With

55.
56.

' Agregar la relacin ( campo en comn : campo_Relacionado = idCliente )


' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

57.
58.

With DataSet
.Relations.Add("mi_Relacion", _

59.
60.
61.
62.

.Tables("Maestro").Columns(campo_Relacionado), _
.Tables("Detalle").Columns(campo_Relacionado))
End With
' Establecer el DataSource y el DataMember para el DataGridview Detalle

63.
64.
65.
66.

With DvDetalle
.DataSource = DataSet
.DataMember = "Maestro.mi_Relacion"
.SelectionMode = DataGridViewSelectionMode.FullRowSelect

67.
68.

End With
' cerrar la conexn

69.
70.
71.
72.
73.
74.
75.
76.

With conexion
If .State = ConnectionState.Open Then
.Close()
End If
.Dispose()
End With
Catch ex As Exception
MsgBox(ex.Message.ToString)

77.
End Try
78.
Me.Text = "Formulario Maestro Detalle con dataGridviews"
79. End Sub
80. End Class

Recursos vb 6.0 - Enlaces relacionados


Crear formulario maestro detalle en vb6 usando el asistente para formulario de datos
Data Form wizard [4]
Buscar en Recursos vb

Recursos visual basic [5] - Buscar [6] - Privacidad [7] - Copyright 2005 - 2009 www.recursosvisualbasic.com.ar

1. http://www.recursosvisualbasic.com.ar/htm/vb-net/listado-6.htm
2. http://www.recursosvisualbasic.com.ar/htm/vb-net/54-obtener-links-de-una-pagina-web.htm
3. http://www.recursosvisualbasic.com.ar/htm/vb-net/56-alternar-color-de-filas-en-datagridview.htm
4. http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/490-crear-formulariomaestro-detalle-vb6.htm
5. http://www.recursosvisualbasic.com.ar/
6. http://www.recursosvisualbasic.com.ar/htm/menu-principal/buscar.htm
7. http://www.recursosvisualbasic.com.ar/htm/menu-principal/privacidad.htm

Anda mungkin juga menyukai