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

Error con VB.net 2008

Estas en el tema de Error con VB.net 2008 en el foro de .NET en Foros del Web. Hola, estoy queriendo hacer una aplicacion que haga lo siguiente: Lea un archivo .DEL y lo cargue en un DataGridView (Si... se que asignandole un ...
  #1 (permalink)  
Antiguo 12/07/2011, 14:00
Avatar de jgallego87  
Fecha de Ingreso: julio-2011
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Error con VB.net 2008

Hola, estoy queriendo hacer una aplicacion que haga lo siguiente:
Lea un archivo .DEL y lo cargue en un DataGridView (Si... se que asignandole un Source es mucho mas facil, pero necesito que se cargue de esta manera).
El tema es que ya probe de varias formas y lo que me pasa es que solo carga una columna con las longitudes de los datos y no los datos :s

el .DEL tiene 27 campos separados por coma y aproximadamente 20 registros. Les adjunto el codigo:

Dim sLine As String
Dim valores() As String
Dim arrText As New ArrayList()


ofd1.InitialDirectory = "C:\"
ofd1.ShowDialog()
lblPath.Text = ofd1.FileName
'se lee el archivo
Dim objReader As New StreamReader(ofd1.FileName)
Dim z As Integer
'-------------------
z = -1
For
Try
'sLine = objReader.ReadLine()
'If Not sLine Is Nothing Then
' arrText.Add(sLine.Split(","))
' z = z + 1
' End If
'cargo el DataSheet
'valores = sLine.Split(",")
'dgv1.DataSource = arrText.Item(z)
dgv1.DataSource = Split(objReader.ReadLine(), ",")
'If Not sLine Is Nothing Then
'arrText.Add(sLine)
'End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Loop Until sLine Is Nothing
objReader.Close()


End Sub


Hay varias cosas comentadas de varios intentos que realice, alguien podria ayudarme por favor!!!??
  #2 (permalink)  
Antiguo 12/07/2011, 14:44
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Error con VB.net 2008

Hola jgallego87 Bienvenido al foro!, en una parte andas bien, pero para que leas linea por linea usa el peek, y mediante el array llenar el datagridview :

Asumo que tienes tus columnas hechas en tu datagridview
Código vb:
Ver original
  1. 'El fullpath de tu archivo
  2.        Dim archivo As String = "C:\Archivos de Programas\...."
  3.  
  4.         'Creo un arraypara almacenar los campos
  5.        Dim campos() As String
  6.  
  7.         ' Comprobar que existe
  8.        If System.IO.File.Exists(archivo) = False Then
  9.             MessageBox.Show("Debes indicar un fichero que exista", _
  10.                         "Leer fichero", _
  11.                         MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  12.             Exit Sub
  13.         End If
  14.  
  15.         'Creo un StremReader para leer el archivo
  16.        Dim sr As New System.IO.StreamReader(archivo)
  17.  
  18.         'Recorro con el peek mientras no llegue al final
  19.        While sr.Peek() <> -1
  20.             ' Leer una linea del fichero
  21.            Dim s As String = sr.ReadLine()
  22.             'Paso los campos separados por ',' al arreglo de cadenas
  23.            campos = s.Split(",")
  24.             'Paso los valores del arreglo al datagridview y agrego una fila
  25.            DataGridView1.Rows.Add(campos(0), campos(1), campos(2), campos(3),..,campos(26))
  26.  
  27.         End While
  28.         'Cierro el StreamReader
  29.        sr.Close()
Espero leas y lo entiendas. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 12/07/2011, 14:48
Avatar de jgallego87  
Fecha de Ingreso: julio-2011
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Error con VB.net 2008

MUCHAS gracias por tu respuesta y tambien por tu bienvenida.... en cuanto a lo que decis, no, no tengo creadas las columnas por que pueden ser tanto 20 como 23 como 27 los registros. Conoces alguna forma para agregarlos a medida que va siendo necesario?

Nuevamente te agradezco mucho la respuesta!
  #4 (permalink)  
Antiguo 12/07/2011, 14:54
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Error con VB.net 2008

Haber... los registros no importan ya que se agregaran por filas, pero debes saber cuanta cantidad de columnas tiene para definir la estructura de tu grilla.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 12/07/2011, 14:55
Avatar de jgallego87  
Fecha de Ingreso: julio-2011
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Error con VB.net 2008

Perdon, quise decir columnas... puedo tener de 20 a 27 datos y a su vez entre 20 y 30 registros. Es por eso que no las creo en VB.
  #6 (permalink)  
Antiguo 12/07/2011, 14:59
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Error con VB.net 2008

Mmmm... pero esos registros que tienes como esta estructurado? muestrame el texto que tienes en tu archivo.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 12/07/2011, 15:03
Avatar de jgallego87  
Fecha de Ingreso: julio-2011
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Error con VB.net 2008

1234,91414,20100630,4,0001279610,,USUARIO,TIPO,0,N D,ND,ND,999,VE,0,141,0,20100528,15541,,110,ABC,426 ,,USUARIO,VE,N
9994,91414,20100331,4,0002564500,,USUARIO,,0,ND,ND ,ND,999,CA,0,141,0,20100121,3750,,45,DEF,171,,USUA RIO,CA,N
0835,91414,20100630,4,0002564500,,USUARIO,,0,ND,ND ,ND,999,CA,0,141,0,20100514,33312,,300,GHI,1161,,U SUARIO,CA,N
5300,91414,20100630,4,0002564500,,USUARIO,,0,ND,ND ,ND,999,CA,0,141,0,20100526,35129,,45000,JKL,302,, USUARIO,CA,N
2221,91414,20100630,4,0002564500,,USUARIO,,0,ND,ND ,ND,999,CA,0,141,0,20100526,35132,,50,MNO,195,,USU ARIO,CA,N,NUMERO_TELEFONICO, RELACION, SECTOR



Ese es un ejemplo, los primeros 4 registros tienen la misma cantidad de columnas, pero el ultimo tiene mas.... no me molestaria que queden en blanco si no tienen datos, pero si necesitaria que en caso de que un registro necesite mas columnas se puedan crear.
  #8 (permalink)  
Antiguo 12/07/2011, 15:08
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Error con VB.net 2008

bueno jgallego87 mañana me conecto y seguimos, ahora ando saliendo del trabajo, pero te adelanto que para ello debes saber toda la longitud que va a tener tu tabla todas las columnas y asi como está definido en tu texto lo veo alguito complicado, espero que los demas compañeros puedan seguir apoyandote. Conmigo hasta mañana! Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 12/07/2011, 16:15
Avatar de jgallego87  
Fecha de Ingreso: julio-2011
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Error con VB.net 2008

Te agradezco mucho por la ayuda. veo cual es el total de campos y lo hago como me dijiste. Muchas Gracias!

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 19:46.