Foros del Web » Programación para mayores de 30 ;) » .NET »

pasar datos de un datagridview a otro

Estas en el tema de pasar datos de un datagridview a otro en el foro de .NET en Foros del Web. hola amigos tengo una aplicaion con 2 datagridview la idea es pasar las columnas que seleccione en el datagridview1 esas mismas deben pasar al datagridview2 ...
  #1 (permalink)  
Antiguo 06/12/2012, 13:28
Avatar de ocesitaro  
Fecha de Ingreso: diciembre-2011
Ubicación: Carabayllo
Mensajes: 274
Antigüedad: 12 años, 4 meses
Puntos: 36
pasar datos de un datagridview a otro

hola amigos tengo una aplicaion con 2 datagridview la idea es pasar las columnas
que seleccione en el datagridview1 esas mismas deben pasar al datagridview2

tengo este codigo

en el evento load
cargo
dim dr as datarow
dim dt as new datatable

--------------------------------
en el boton agregar.

Dim columna As String = dgvplanilla.Columns(dgvplanilla.CurrentCell.Column Index).Name
dt.Columns.Add(columna)
dt.NewRow()
For Each lrow As DataGridViewRow In dgvplanilla.Rows
dr = dt.NewRow
dr(columna) = lrow.Cells(columna).Value
dt.Rows.Add(dr)
Next

dgvconceptos.DataSource = dt
---------------------

el problema es que me agrega de esta manera

Código HTML:
Ver original
  1. personal     edad  
  2. nom1
  3. nom2
  4.               12
  5.               15
lo que se quiere es que salga al costado.

Agredece su respuesta.
  #2 (permalink)  
Antiguo 11/12/2012, 15:34
Avatar de jhonjairo00  
Fecha de Ingreso: noviembre-2010
Ubicación: Bogotá D.C.
Mensajes: 31
Antigüedad: 13 años, 5 meses
Puntos: 6
Respuesta: pasar datos de un datagridview a otro

Hola

Bueno primero que todo, si lo que quieres es que se vayan agregando las Columnas seleccionadas en dgvplanilla a dgvconceptos no es necesario que uses un datatable ni un datarow ya que ambos son datagridview (como dijiste) por lo que únicamente vas a tener que crear un objeto de tipo DataGridViewTextBoxColumn, asignarle el nombre y la cabecera de la columna seleccionada, validar que ésta no exista en dgvconceptos, recorrer dgvplanilla fila por fila, validar si el índice no es mayor al número de filas que tiene actualmente dgvconceptos, de ser así agregar una nueva fila, y recuperar el valor de la celda en la columna seleccionada y asignárselo a la celda en dgvconceptos...

más o menos así, supongo que es más gráfico con el código

Código vb:
Ver original
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         Dim _columna As New DataGridViewTextBoxColumn
  3.         _columna.HeaderText = dgvplanilla.Columns(dgvplanilla.CurrentCell.ColumnIndex).HeaderText
  4.         _columna.Name = dgvplanilla.Columns(dgvplanilla.CurrentCell.ColumnIndex).Name
  5.         If dgvconceptos.Columns(_columna.Name) Is Nothing Then
  6.             dgvconceptos.Columns.Add(_columna)
  7.         End If
  8.         For Each _row As DataGridViewRow In dgvplanilla.Rows
  9.             If _row.Index > dgvconceptos.Rows.Count - 1 Then
  10.                 dgvconceptos.Rows.Add(1)
  11.             End If
  12.             dgvconceptos.Rows(_row.Index).Cells(_columna.Name).Value = _row.Cells(_columna.Name).Value
  13.         Next
  14.     End Sub

Espero te sirva...

Saludos

Etiquetas: datagridview
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:22.