Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: knife85 en 16 de Octubre 2020, 00:21
-
Buenas, tengo el siguiente código:
form1.Label1.Text = Me.DataGridView1.Rows(0).Cells(0).Value
Este codigo funciona perfecto. El problema es el siguiente: el datagridview se llena manualmente por lo cual puede quedar vacío y eso me genera un error.
System.ArgumentOutOfRangeException: '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'
se me ocurrio ponerle un IF
If DataGridView1.Rows(0).Cells(0).Value = "" Then
Else
form1.Label1.Text = Me.DataGridView1.Rows(0).Cells(0).Value
End If
Pero.... tambien falla
alguna idea??
desde ya muchas gracias, hoy descubri el foro y estoy muy feliz
-
Se me ocurrio ponerlo con IF NOT
If Not DataGridView1.Rows(0).Cells(0).Value = Then
frm_imprimir.Label11.Text = Me.DataGridView1.Rows(0).Cells(0).Value
End If
Y tampoco anda
creo que el error puede venir por este lado
es un datagridview que se llena manualmente
por lo cual la fila no existe hasta que no agrego.
No se como decirle "si no existe la fila 0" no hagas nada
el error que recivo es el siguiente
System.ArgumentOutOfRangeException: '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'
-
Listo
Solucionado
hago que primero cheque que haya X cantidad de líneas antes de proceder con el código
If DataGridView1.Rows.Count >= 1 Then
frm_imprimir.Label11.Text = Me.DataGridView1.Rows(0).Cells(0).Value
End If
If DataGridView1.Rows.Count >= 2 Then
frm_imprimir.Label25.Text = Me.DataGridView1.Rows(1).Cells(0).Value
End If
y así sucesivamente para todas las filas
-
Gracias por exponer la solución, es posible que le sirva de ayuda a otras personas. Salu2