Datagridview

En un formulario tengo una relación maestro-detalle, en el datagridview que es la tabla detalle, tengo una tabla de tratamientos, quiero seleccionar una fila y a través de un botón quiero que me aparezca lo seleccionado con un doble click por ejemplo, en un datagridview de otro formulario que es de una tabla de facturas.
¿Cómo puedo hacerlo?.
Soy un poco novata.

1 Respuesta

Respuesta
1
No se si te entendido muy bien, supongo que lo que me quieres decir es que tienes dos datagrid en una de ellas una lista de resultados y la otra vacía y quieres que al seleccionar una fila en el primer datagrid te ponga en la otra fila los datos seleccionados.
Si es así lo puedes hacer clonando la fila seleccionada de la siguiente manera:
dim arrCopias() as System.Windows.Forms.DataGridViewRow
dim tmpRow as system.windows.Forms.DataGridViewRow
'Redimensionamos la matriz
redim arrcopias(DataGrid1.SelectedRows.Count-1)
'Copiamos las filas seleccionadas
datagrid1.selectedrows.copyto(arrcopias,0)
'Borramos las filas que pueda tener el datagrid2
datagrid2.rows.clear
'Hacemos un bucle para recorrer todas las filas copiadas y añadirlas al datagrid2
for each tmpRow in arrCopias
datagrid2.rows.add(tmprow)
next
Este código lo puedes poner en el evento click de algún botón o directamente en el evento CurrentCellChanged del datagrid1.
Tienes que tener en cuenta que el datagrid2 tiene que tener el mismo numero de columnas y del mismo tipo.
Hola popicinio
Gracias por tu contestación. Mira un Datagridview está en un formulario y el otro Datagridview está en otro distinto. No se si dará igual.
Te mando el código de los dos formularios.
Gracias anticipadas.
Public Class Form2
'Private Sub PACIENTBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PACIENTBindingNavigatorSaveItem.Click
' Me.Validate()
' Me.PACIENTBindingSource.EndEdit()
' Me.PACIENTTableAdapter.Update(Me.PacttoDataSet1.PACIENT)
'End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'PacttoDataSet1.TTO' Puede moverla o quitarla según sea necesario.
Me.TTOTableAdapter.Fill(Me.PacttoDataSet1.TTO)
'TODO: esta línea de código carga datos en la tabla 'PacttoDataSet1.PACIENT' Puede moverla o quitarla según sea necesario.
'Me.PACIENTTableAdapter.Fill(Me.PacttoDataSet1.PACIENT)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
PACIENTTableAdapter.FillByNOM(PacttoDataSet1.PACIENT, "%" & NOMBRTextBox.Text & "%")
End Sub
End Class
Public Class Form4
Private Sub FACTBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FACTBindingNavigatorSaveItem.Click
Me.Validate()
Me.FACTBindingSource.EndEdit()
Me.FACTTableAdapter.Update(Me.FACTURADS.FACT)
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'TRATAMIENTODS.TTO' Puede moverla o quitarla según sea necesario.
Me.TTOTableAdapter.Fill(Me.TRATAMIENTODS.TTO)
'TODO: esta línea de código carga datos en la tabla 'FACTURADS.FACT' Puede moverla o quitarla según sea necesario.
'Me.FACTTableAdapter.Fill(Me.FACTURADS.FACT)
End Sub
End Class
Si que da igual la única diferencia es que tendrás que hacer referencia al formulario donde se encuentra el segundo datagrid para rellenarlo (Form2. DtaGridView2).
Veo que utilizas los DataAdapters para rellenar la tabla de datos, en el datagrid de destino probablemente deberías quitarlo para poder rellenarlo con el código que te he pasado ya que lo vas a controlar tu mediante código y no ningún adaptador.
Prueba y me dices algo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas