Llenar un DataGridView y obtener el valor de una celda

4 Enero, 2008 por Mr. FotoPex deja una respuesta »

 

 

Un ejemplo de como llenar un DataGridView a partir de una consulta a SQL. Utilizaremos una base de datos ms Access.

VB.NET:
  1. Imports System.Data
  2. Imports System.Data.OleDb
  3.  
  4. Public Class frmMain
  5.  
  6.     Public sConexion As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBaseDatos
  7.  
  8.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  9.  
  10.         Dim cn As New OleDbConnection(sConexion)
  11.         Dim MiDataSet As New DataSet
  12.         Dim MiAdaptador As New OleDb.OleDbDataAdapter
  13.  
  14.         Try
  15.             cn.Open()
  16.            
  17.             ' Creamos la consulta
  18.  
  19.             Dim sql As String = "Select id_num, campo1, campo2," & _
  20.             " campo3, campo4" & _
  21.             " From tabla1 Where " & _
  22.             " campo1 like '" & Trim(Replace(Me.txtBusqueda.Text, "'", "k")) & "%'"
  23.  
  24.             'creamos un comando
  25.             Dim comando As New OleDbCommand(sql, cn)
  26.             MiAdaptador.SelectCommand = comando
  27.             MiAdaptador.Fill(MiDataSet)
  28.             DataGridView1.DataSource = MiDataSet.Tables(0)
  29.  
  30.         Catch ex As Exception
  31.             'mostramos el error
  32.             MessageBox.Show("error " & Err.Number.ToString & vbCrLf & ex.Message)
  33.         Finally
  34.             'cerramos la conexion solo si esta abierta
  35.             If (cn.State And ConnectionState.Open) <> 0 Then
  36.                 cn.Close()
  37.             End If
  38.         End Try
  39.  
  40.     End Sub

Otro ejemplo sin utilizar un DataSet:

VB.NET:
  1. Dim cn As New OleDbConnection(sConexion)
  2.  
  3.     Dim sSql As String = "Select id_num, campo1, campo2," & _
  4.             " campo3, campo4" & _
  5.             " From tabla1 Where " & _
  6.             " campo1 like '" & Trim(Replace(Me.txtBusqueda.Text, "'", "k")) & "%'"
  7.  
  8.     Dim da As New OleDbDataAdapter(sSql, cn)
  9.     Dim ds As New DataSet
  10.     da.Fill(ds)
  11.     DataGridView1.DataSource = ds.Tables(0)

Ahora vamos a obtener el valor de una columna en una fila seleccionada con doble clic.

VB.NET:
  1. Private Sub DataGridView1_RowHeaderMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseDoubleClick
  2.  
  3.         ' Creamos la variable que contendrá el valor
  4.  
  5.         Dim Variable As Integer = CInt(DataGridView1.Item(0, DataGridView1.CurrentRow.Index).Value)
  6.  
  7.         ' Ahora lo mostramos
  8.         MessageBox.Show(CStr(Variable))
  9.  
  10.     End Sub
  11. End Class

Publicidad

2 comentarios

  1. Claudio dice:

    Muchas gracias por el codigo me sirvio de mucho, estoy haciendo una tarea y me quedo muy claro como llenar un datagrid.

  2. Miguel Angel dice:

    Bueno el ejemplo
    pero tengo un problemilla
    ya que se demora en cargar el listado de datos
    en un datagridview, no se si puedes
    poner un ejemplo de como tratar una
    carga de datos.

Deja un comentario