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 usuario.
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 PosicionColumna: puede ser un valor fijo, una
variable o el dato que ya exista en otro control (TextBox,
ComboBox,…)
- 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 al
DisplayMember, o al dato seleccionado por el usuario en un
ComboBox se usa la propiedad SelectedText.
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 usuario.
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 en la tabla
ventas y varios registros en la tabla ítems, los
registros para la tabla Items dependen de la cantidad de
productos que se hayan registrado en el control
DataGridView. Todo lo anterior en este mismo 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 una fila del
DataGridView. El código es el siguiente:
Dim row As Integer row = NombreDataGridView.CurrentRow.Index NombreDataGridView.Rows.RemoveAt(row)
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 usuario 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 usuario final o evitar errores de datos.
IV. BIBLIOGRAFIA
BLANCO, Luis Miguel. Programación en Visual Basic .NET. Grupo
EIDOS. 2002. 725 P.