La carga de datos al igual que la generación puede realizarse de varias formas
A partir de un objeto DataTable, enlazado.
Public Sub CargaGrid(ByVal Conexion As MySql.Data.MySqlClient.MySqlConnection, _
ByRef Adaptador As MySql.Data.MySqlClient.MySqlDataAdapter, _
ByRef Tabla As System.Data.DataTable, _
ByRef DataGrid As DataGridView, _
ByVal CadenaSql As String)
Dim ComandoActualizar As MySql.Data.MySqlClient.MySqlCommandBuilder
' DataGrid.Rows.Clear() si está enlazado no se puede
Tabla.Rows.Clear()
Try
' Crear un nuevo adaptador de datos
Adaptador = New MySql.Data.MySqlClient.MySqlDataAdapter(CadenaSql, Conexion)
' Crear un 'commandbuilder' que genere el SQL Update/Insert/Delete
' el comando, no puede cambiarse de sitio pues captura datos de la
' operación anterior del adaptador.
ComandoActualizar = New MySql.Data.MySqlClient.MySqlCommandBuilder(Adaptador)
' Llenar la tabla con los datos y enlazarla con DataSource
Adaptador.Fill(Tabla)
DataGrid.DataSource = Tabla
Catch ex As MySql.Data.MySqlClient.MySqlException
MsgBox(ex.Message, MsgBoxStyle.Information)
End Try
End Sub
Añadiendo los datos de forma manual, fila a fila.
Dim Tipo, Cod, Denom As String
Dim Cant As Integer
Tipo = "01"
Cod = "0001"
Denom = "Visual Basic Net 2005"
Cant = 10
Dim Fila() As Object = {Tipo, Cod, Denom, Cant}
' Este formato es válido solo cuando no esta enlazada a datos, DataSource
DataGrid.AllowUserToAddRows = True
Try
DataGrid.Rows.Add(Fila)
Catch ex As ArgumentException
MsgBox(ex.Message, MsgBoxStyle.Information, NomProgram)
End Try
DataGrid.AllowUserToAddRows = False
Se realiza siempre a partir del método
DataGrid.Rows.Remove(DataGrid.CurrentRow)
De esta forma borramos la fila actualmente seleccionada.
Si el objeto está enlazado, al ejecutar posteriormente
Adaptador.Update(Tabla)
el contenido en la base de datos quedará actualizado.
Síguenos en: Facebook Sobre aulaClic Política de Cookies