Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Mary en 27 de Agosto 2015, 19:27
-
Hola, estoy intentando pasar los datos de un datagridview a otro datagridview, de forma que los HeaderText del primer datagridview se me copian en las filas de la primera columna del segundo datagridview (sería algo así como transponer filas por columnas en los datagridviews)
Como el primer datagridview tiene muchas columnas, me gustaría poder hacerlo mediante bucles: el datagridview25 es el que tiene los 79 Headertext que hay que poner en las filas de la primera columna del datagridview31
For i = 0 To DataGridView25.ColumnCount - 1
Dim j As Integer
For j = 0 To DataGridView31.RowCount - 1
DataGridView31.Rows(j + 1).Cells(0).Value = DataGridView25.Columns(i).HeaderText
Next
Next
Pero cuando aplico el código me sale error:
El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección.
Nombre del parámetro: index
Básicamente lo que necesito conseguir es lo siguiente
datagridview25
id nombre código color
0 Luis 95 azul
1 José 102 verde
2 Eva 200 rojo
datagridview31
nombre Luis
código 95
color azul
¿Alguien sabría que hay incorrecto en el bucle? Gracias.
-
Hola de nuevo,
he conseguido encontrar el fallo. Pongo a continuación el código por si a alguien le pudiera servir.
DataGridView31.ColumnCount = 2
DataGridView31.RowCount = 81
Me.DataGridView31.Columns(0).HeaderText = "NOMBRE"
Me.DataGridView31.Columns(1).HeaderText = "CÓDIGO"
If (DataGridView31.Rows.Count > 0) Then
For i = 0 To DataGridView25.ColumnCount - 1
'If DataGridView25.Columns(i).Visible = True Then
Dim j As Integer
For j = i To DataGridView25.ColumnCount - 1
DataGridView31.Rows(j).Cells(0).Value = DataGridView25.Columns(i).HeaderText
Next
For j = i To DataGridView25.ColumnCount - 1
DataGridView31.Rows(j).Cells(1).Value = DataGridView25.Rows(0).Cells(i).Value
Next
Next
End If
-
Gracias por pegar el código con la solución, como dices le puede servir a otras personas
Saludos