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

error: referencia a objeto no establecida?

Estas en el tema de error: referencia a objeto no establecida? en el foro de .NET en Foros del Web. hola, bueno aqui sigo intentando aprender esto de vb.net. tengo el siguiente problema este codigo imprime el contenido un datagridvew, funcionaba todo ok, pero cuando ...
  #1 (permalink)  
Antiguo 10/02/2010, 13:19
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 19 años, 1 mes
Puntos: 4
error: referencia a objeto no establecida?

hola, bueno aqui sigo intentando aprender esto de vb.net. tengo el siguiente problema

este codigo imprime el contenido un datagridvew, funcionaba todo ok, pero cuando cambio el 0 del rows por la variable i para que recorra todas las filas me da el error referencia a objeto no establecida. El siguiente codigo NO da error pero obviamente no recorre las filas

Código:
Dim i As Decimal

        Dim h
        i = 0
        While i < detalle.RowCount
            h = (i * 10) + 280
            e.Graphics.DrawString(detalle.Rows(0).Cells(0).Value.ToString(), New Font("Verdana", 8), Brushes.Black, 60, h)
            e.Graphics.DrawString(detalle.Rows(0).Cells(1).Value.ToString(), New Font("Verdana", 8), Brushes.Black, 160, h)
            e.Graphics.DrawString(detalle.Rows(0).Cells(2).Value.ToString(), New Font("Verdana", 8), Brushes.Black, 600, h)
            e.Graphics.DrawString(detalle.Rows(0).Cells(3).Value.ToString(), New Font("Verdana", 8), Brushes.Black, 700, h)
            i = i + 1
        End While
y el siguiente da error

Código:
Dim i As Decimal

        Dim h
        i = 0
        While i < detalle.RowCount
            h = (i * 10) + 280
            e.Graphics.DrawString(detalle.Rows(i).Cells(0).Value.ToString(), New Font("Verdana", 8), Brushes.Black, 60, h)
            e.Graphics.DrawString(detalle.Rows(i).Cells(1).Value.ToString(), New Font("Verdana", 8), Brushes.Black, 160, h)
            e.Graphics.DrawString(detalle.Rows(i).Cells(2).Value.ToString(), New Font("Verdana", 8), Brushes.Black, 600, h)
            e.Graphics.DrawString(detalle.Rows(i).Cells(3).Value.ToString(), New Font("Verdana", 8), Brushes.Black, 700, h)
            i = i + 1
        End While
no entiendo porque, si i=0 no seria lo mismo??, saludos y gracias!!!!!!!!
__________________
hola . . .

Última edición por JAK^; 10/02/2010 a las 13:38 Razón: me olvide de saludar jejeje
  #2 (permalink)  
Antiguo 10/02/2010, 13:47
 
Fecha de Ingreso: marzo-2004
Mensajes: 70
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: error: referencia a objeto no establecida?

creo q te falta declarar el tipo de variable para h...

Dim h As Decimal
__________________
GuzZpaWn
  #3 (permalink)  
Antiguo 10/02/2010, 13:49
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 19 años, 1 mes
Puntos: 4
Respuesta: error: referencia a objeto no establecida?

nop, lo declare o no, el error sigue, como digo cuando cambio i por 0 anda...
__________________
hola . . .
  #4 (permalink)  
Antiguo 10/02/2010, 14:07
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 19 años, 1 mes
Puntos: 4
Respuesta: error: referencia a objeto no establecida?

solucionado!!! disculpen las molestias

el error es que los datagrid te agregan esa fila vacia al final entonces poniendo
While i < detalle.RowCount - 1 se soluciona el problema, de esa manera no se toma en cuenta esa fila vacia
saludos
__________________
hola . . .
  #5 (permalink)  
Antiguo 10/02/2010, 14:44
 
Fecha de Ingreso: mayo-2004
Ubicación: Lima-Peru
Mensajes: 72
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: error: referencia a objeto no establecida?

Otra opción es "resetear" el DataGrid antes de llenarlo con la siguiente sentencia:

detalle.Rows.Clear()

De esta manera, tu condición While quedaría tal como lo planteaste al inicio.

Etiquetas: establecida, objeto, referencia
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 11:29.