none
Como mostrar datos en un datagriview? RRS feed

  • Pregunta

  • tengo un problema para mostrar los datos de un txt en un datagridview, solo me lee la primera fila de mi archivo:

    Tommy | Flores Arirama | tflores9 | administrador | 365 |

    Tommy | Flores Arirama | tflores9 | administrador | 365 |

    Tommy | Flores Arirama | tflores9 | administrador | 365 |

    Tommy | Flores Arirama | tflores9 | administrador | 365 |

    me muestra de esta manera en el datagridview, se repiten indefinidmente, aunque hay varios datos diferentes:

    como puedo arreglar eso en mi codigo?

     public void CargarArchivo()
            {
                StreamReader leer;
                string cadena;
                char[] separador = { '|' };
                string[] campos = new string[4];

                using (leer = File.OpenText(@"DBUsuarios.txt"))
                {
                    cadena = leer.ReadLine();
                    campos = cadena.Split(separador);
                    while (cadena!=null)
                    {
                        dgvUsuarios.Rows.Add(campos[0], campos[1], campos[2], campos[3], campos[4]);
                        cadena = leer.ReadLine();
                    }
                    leer.Close();
                }
            }

    jueves, 28 de diciembre de 2017 18:14

Todas las respuestas

  • Buenas tardes.

    Podrías fijarte en la siguiente respuesta Cargar un DatagridView con un archivo de texto Delimitado por Comas y primeramente cargar los datos del txt a un DataTable.

    Espero te sirva de ayuda.

    Saludos.

    jueves, 28 de diciembre de 2017 18:32
  • esta chevere me ah sido de ayuda. Gracias!!

    Ahora solo falta solucionar la parte de nombres de los titulos, porque se agregan con el nombre column1++

    jueves, 28 de diciembre de 2017 19:29
  • podrías cambiar la parte de agregar la cantidad de columnas por una matriz de nombres ejemplo agrega un parametro mas al metodo "ConvertToDataTable(string filePath, int numberOfColumns, string[] nombrecolumnas)"  y lo agregas de la siguiente forma

     for (int col = 0; col < numberOfColumns; col++)
                    tbl.Columns.Add(new DataColumn(nombrecolumnas[col].ToString()));

    entonces lo único que debes hacer es crear una matriz con los nombres de las columnas y se la pasas al metodo

     string[] nombresdecolumnas = new string[] { "NomCol1", "NomCol2", "NomCol3","NomCol4", "NomCol5"};
    
    dataGridView3.DataSource = ConvertToDataTable(@"C:\MyCarpeta\miArchivo.Txt", 5, nombresdecolumnas);

    Espero te sirva de ayuda.

    Saludos.



    • Editado osrol jueves, 28 de diciembre de 2017 20:18
    • Propuesto como respuesta Fernando Bequir viernes, 5 de enero de 2018 11:57
    jueves, 28 de diciembre de 2017 20:15
  • EXcelente, justamente eso se me ocurrió hacer. Gracias!!

    Me fue de muchísima ayuda.

    jueves, 28 de diciembre de 2017 20:36
  • Saludos!!
    jueves, 28 de diciembre de 2017 20:36