USO DEL CONTROL DATAGRIDVIEW EN VB.NET A TRAVÉS DE UN EJEMPLO PASO A PASO: Práctica de una factura a través de un formulario maestro-detalle
Proyecto formativo: 376867 - CONSTRUCCION DE SOFTWARE PARA EL APOYO DEL SECTOR EMPRESARIAL Y COMERCIAL EN BOYACA
Instructor: Nidia Zoraida Nieto Hernández Ingeniera de sistemas Especialista en base de datos e-mail:
[email protected]
Contenido I. ANTES DE INICIAR CON ESTA PRÁCTICA ES IMPORTANTE APRENDER A INTERPRETAR UN CONTROL DATAGRIDVIEW PARA MANIPULAR LOS DATOS DENTRO DE ESTE CONTROL SIN PROBLEMA........................................................................ 3 II. POR OTRO LADO LES RECUERDO EL CÓDIGO PARA CARGAR LOS DATOS A UN CONTROL COMBOBOX. ............................................................................................................. 5 III. AHORA SI PODEMOS INICIAR CON LA PRÁCTICA PARA HACER USO DEL CONTROL DATAGRIDVIEW. .......................................................................................................... 6 IV.
BIBLIOGRAFIA .................................................................................................................... 9
USO DEL CONTROL DATAGRIDVIEW EN VB.NET A TRAVÉS DE UN EJEMPLO PASO A PASO: Práctica de una factura a través de un formulario maestro-detalle I.
-
ANTES DE INICIAR CON ESTA PRÁCTICA ES IMPORTANTE APRENDER A INTERPRETAR UN CONTROL DATAGRIDVIEW PARA MANIPULAR LOS DATOS DENTRO DE ESTE CONTROL SIN PROBLEMA. Un DataGridview está formado por filas y columnas. El número de columnas es definido por el desarrollador y el número de filas depende de los datos que desee ingresar el . Ejemplo:
Número de columnas: 4, pero en programación se inicia a contar desde 0, es decir, la columna 0 es el nombre del producto, columna 1 la cantidad, columna 2 valor unitario y columna 3 valor total. Número de filas: depende de los productos que compre el cliente para este ejemplo y la referencia a las filas también empieza en cero. -
Celda: es cada casilla que indica la intersección entre una fila y una columna. Según lo anterior, la forma de hacer referencia a cualquier celda del DataGridview, es así:
Asignar el valor de una celda a una variable: Variable = DataGridview.Rows(PosicionFila).Cells(PosicionColumna).Value
O, Asignar un valor a la celda
DataGridview.Rows(PosicionFila).Cells(PosicionColumna).Value = 12 PosicionFila y variable o el ComboBox,…) -
PosicionColumna: puede ser un valor fijo, una dato que ya exista en otro control (TextBox,
En el evento CellValueChanged del DataGridview se programa lo que quiera que se genere automáticamente al digitar un dato en cualquier celda. Algo importantísimo: Dentro del código del evento CellValueChanged cuando se usa: e.RowIndex indica la posición de la fila donde está el cursor ubicado o fila donde se está digitando.
II.
POR OTRO LADO LES RECUERDO EL CÓDIGO PARA CARGAR LOS DATOS A UN CONTROL COMBOBOX. (Cabe aclarar que un combobox se puede también cargar a través de un Dataset creado previamente por diseño, pero como la idea es aprender código, manos a la obra): El siguiente ejemplo es el código para cargar el combobox que debe mostrar los clientes:
Dim daCombos As OracleDataAdapter Dim dsDatosCombos As New DataSet cadenaSQL = “ SELECT CODIGO_PERSONA, NOMBRE_PERSONA + ' ' + APELLIDO_PERSONA AS NOMBRECLIENTE FROM PERSONAS WHERE TIPO_PERSONA='C'” daCombos = New OracleDataAdapter(cadenaSQL, base) daCombos.Fill(dsDatosCombos, “PERSONA”) nombreCombo.DataSource = dsDatosCombos nombreCombo.ValueMember = “PERSONA.CODIGO_PERSONA” nombreCombo.DisplayMember = “PERSONA.NOMBRECLIENTE”
Cuando se quiera hacer referencia por programación al ValueMember o al código de los datos cargados en un ComboBox se usa la propiedad SelectedValue. Cuando se quiera hacer referencia por programación DisplayMember, o al dato seleccionado por el en ComboBox se usa la propiedad SelectedText.
al un
III.
AHORA SI PODEMOS INICIAR CON LA PRÁCTICA PARA HACER USO DEL CONTROL DATAGRIDVIEW.
1. Para realizar esta práctica más interesante propongo que los códigos de los recibos se manejen de 6 dígitos, de forma consecutiva iniciando en 1, pero como es de 6 dígitos se complete el dato con ceros a la izquierda. Ejemplo: 000001, 000002, 000003,…, 999999. Para esto se requiere que el tipo de dato del campo CODIGO_RECIBO sea VARCHAR2(6). Haga el cambio del tipo de dato en la base de datos. 2. A continuación propongo un diseño de interfaz del formulario donde se creará cada factura (en este formulario se insertará registros en la tabla VENTAS e ITEMS al mismo tiempo). 2.1. La configuración de cada columna del DataGridView será explicado en la sesión de clase.
3. El botón sirve para crear nuevas facturas, por lo tanto desde este botón se debe generar automáticamente: 3.1. El código del recibo. 3.2. El nombre del vendedor que se autentico en el sistema. 3.3. La fecha de la factura, correspondiendo a la fecha actual. Usar función Now(). Por lo tanto los tres campos anteriores deben estar bloqueados para el . 3.4. Blanquear los campos forma de pago y observaciones. 3.5. Blanquear el DataGridView, con el siguiente código: NombreDataGridView.Rows.Clear()
4. El botón sirve para guardar un registro ventas y varios registros en la tabla registros para la tabla Items dependen de la productos que se hayan registrado en DataGridView. Todo lo anterior en este mismo
en la tabla ítems, los cantidad de el control botón.
5. El botón sirve para abrir un reporte o informe que muestre los datos de la factura que se acabó de guardar.
6. El botón sirve para eliminar DataGridView. El código es el siguiente:
Dim row As Integer row = NombreDataGridView.CurrentRow.Index NombreDataGridView.Rows.RemoveAt(row)
una
fila
del
Asuntos adicionales:
No existe la opción de actualizar, ni eliminar, porque en la realidad esto no sucede. El código del botón guardar e imprimir se puede unificar en un solo botón para ahorrarle tiempo al final del sistema. Aplique la programación o diseño que usted considere necesario con el objetivo de hacer el proceso más amigable al final o evitar errores de datos.
IV.
BIBLIOGRAFIA
BLANCO, Luis Miguel. Programación en Visual Basic .NET. Grupo EIDOS. 2002. 725 P.