Cita:
Iniciado por Ka0stj
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 originalPublic Sub Cargar_DatagridView(ByVal Instruccion_Sql As String, ByVal dgv As DataGridView)
objConn = New SqlConnection(miconexion.StrConexion)
Dim MiDataReader As System.Data.SqlClient.SqlDataReader
Dim MiDataTable As New DataTable
'Reseteo el Dataset para no mostrar repetidos
Try
' SE ABRE LA CONEXION
objConn.Open()
Dim sql As System.Data.SqlClient.SqlCommand = New SqlCommand(Instruccion_Sql, objConn)
MiDataReader = sql.ExecuteReader
MiDataTable.Load(MiDataReader)
dgv.DataSource = MiDataTable
Catch ex As Exception
MsgBox(ex
.Message, MsgBoxStyle
.Critical,
"Error") End Try
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 originalDim renglon As Integer = Me.DataGridView.CurrentCell.RowIndex
Me.Textbox1.Text = Me.DataGridView.Item(0,renglon).Value
Me.Textbox2.Text = Me.DataGridView.Item(1,renglon).Value
...
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!