Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/01/2013, 08:20
davidalonsso05
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: enlazando un datagridview con textbox

Cita:
Iniciado por Ka0stj Ver Mensaje
Primero cargo el DataGridView, para ello utilizo el siguiente método donde le especifico el query con el cual lo cargaré y el nombre del datagrid.

Código vb.net:
Ver original
  1. Public Sub Cargar_DatagridView(ByVal Instruccion_Sql As String, ByVal dgv As DataGridView)
  2.  
  3.         objConn = New SqlConnection(miconexion.StrConexion)
  4.         Dim MiDataReader As System.Data.SqlClient.SqlDataReader
  5.         Dim MiDataTable As New DataTable
  6.  
  7.         'Reseteo el Dataset para no mostrar repetidos
  8.         Try
  9.             ' SE ABRE LA CONEXION
  10.             objConn.Open()
  11.  
  12.             Dim sql As System.Data.SqlClient.SqlCommand = New SqlCommand(Instruccion_Sql, objConn)
  13.  
  14.             MiDataReader = sql.ExecuteReader
  15.  
  16.             MiDataTable.Load(MiDataReader)
  17.  
  18.             dgv.DataSource = MiDataTable
  19.  
  20.             objConn.Close()
  21.  
  22.         Catch ex As Exception
  23.             MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
  24.             objConn.Close()
  25.         End Try
  26.  
  27.     End Sub

Después para tomar los datos a los textbox con el evento cellcontentClick, cellclick o selectionchanged del datagridview de la siguiente forma:

Código vb.net:
Ver original
  1. Dim renglon As Integer = Me.DataGridView.CurrentCell.RowIndex
  2.  
  3. Me.Textbox1.Text = Me.DataGridView.Item(0,renglon).Value
  4. Me.Textbox2.Text = Me.DataGridView.Item(1,renglon).Value
  5. ...

donde 0,1,2, etc. son las columnas de mi renglon seleccionado. Saludos...
Muy buena respuesta! a mi me sirvio el ultimo codigo para borrar el renglon ya que solo me mostraba la fila si seleccionaba la celda pero la segunda me sirvio con el evento SelectionChanged del DGV!!

Una duda.... para borrar una fila de igual manera seleccionando el renglon no la celda? como seria... este es mi codigo pero tengo que seleccionar cualquier celda y no el renglon...

Private Sub dgv2_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgv2.MouseDown
If e.Button = System.Windows.Forms.MouseButtons.Right Then
Dim Mi_Test As DataGridView.HitTestInfo = Me.dgv2.HitTest(e.X, e.Y)
If Mi_Test.Type = DataGridViewHitTestType.Cell Then
If Mi_Test.RowIndex >= 0 Then
indice = Mi_Test.RowIndex
Me.dgv2.CurrentCell = Me.dgv.Rows(Mi_Test.RowIndex).Cells(Mi_Test.Column Index)
Me.dgv2.Rows(Mi_Test.RowIndex).Selected = True
men = New ContextMenuStrip()
men.Items.Add("Eliminar", Nothing, New EventHandler(AddressOf EliminarF))
Me.dgv2.ContextMenuStrip = men
End If
End If
End If
End Sub

O en que evento seria!