none
Urgente, problema con Datagridview. RRS feed

  • Pregunta

  • Buenas tardes estimados, repito la pregunta por que no obtuve respuesta y estoy jugado con los tiempos.

    Desde ya gracias a todos por destinar tiempo en mi pregunta.

    Ayuda por favor, no puedo resolver el siguiente problema: Mi datagridview carga sólo la primera columna y no muestra los demás datos, hace poco reinstale windows y creo que viene por algo del S.O por que antes andaba a la perfección.

    Este es mi código:

    public ArchivosCSV()
            {
                InitializeComponent();
                InitializeOpenFileDialog();
            }
    
            private void InitializeOpenFileDialog()
            {           
                this.openFileDialog1.Title = "Seleccionar archivo CSV";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                DialogResult dr = this.openFileDialog1.ShowDialog();
                if (dr == System.Windows.Forms.DialogResult.OK)
                {
                    string connString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Text;", System.IO.Path.GetDirectoryName(openFileDialog1.FileName));
                    string cmdString = string.Format("SELECT * FROM {0}", System.IO.Path.GetFileName(openFileDialog1.FileName));
                    OleDbDataAdapter dataAdapter = new OleDbDataAdapter(cmdString, connString);
                    DataSet dataSet = new DataSet();
                    dataAdapter.Fill(dataSet);
                    dataGridView1.DataSource = dataSet.Tables[0];
                    importeNegativo();
                    //beneficio();
                }
            }

    Acá les dejo una captura del problema.

    El archivo que lee es csv.

    "Sala","Número","Identificación","Modelo","Denominación","Fecha","Hora","Porcentaje","Créd.Jugados"
    "REAN","1401","MAQ ROU","MONEY",0.01,"02112012","055227",-97.30,86127975,68975800,37878614
    "REAN","1402","MAQ ROU","MONEY",0.01,"02112012","055227",97.30,86318025,77223775,22964243
    "REAN","1403","MAQ ROU","MONEY",0.01,"02112012","055227",97.30,59050225,55495075,9148076
    "REAN","1404","MAQ ROU","MONEY",0.01,"02112012","055227",97.30,47933150,37572325,22782668
    "REAN","1405","MAQ ROU","MONEY",0.01,"02112012","055227",97.30,75333150,65733125,21250885
    "REAN","1406","MAQ ROU","MONEY",0.01,"02112012","055227",97.30,40061000,31160225,16611734
    "REAN","1407","MAQ ROU","MONEY",0.01,"02112012","055227",97.30,74191900,61254250,22716825

    Lo ultimo que modifique del proyecto es lo siguiente:

    En VS2010 generar > Adm. de configuración.

    Plataformas de soluciones activas lo cambié por x86 ya que a veces generaba un error al leer los archivos CSV y me dijeron que ese era el problema. Y al cambiarlo me los empezó a leer bien.

    Espero que puedan ayudarme.

    jueves, 22 de noviembre de 2012 19:57

Respuestas

  • El problema estaba en el idioma regional de la PC, gracias a todos!

    Si alguien tiene un problema parecido la solución está cambiando las delimitaciones.

    Saludos.

    • Marcado como respuesta mar21_aet martes, 27 de noviembre de 2012 14:13
    martes, 27 de noviembre de 2012 14:11

Todas las respuestas

  • hola creo que es la cadena de conexion prueba con esta:

            private void Form1_Load(object sender, EventArgs e)
            {
                string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;" +
                "Extended Properties='text;HDR=Yes;FMT=Delimited'";
    
                DataTable dt = new DataTable("miTabla");
                using (OleDbConnection conn = new OleDbConnection(connectionString))
                using (OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM test.csv", conn))
                {
                    da.Fill(dt);
                }
                dataGridView1.DataSource=dt;
               
            }


    donde la ruta del Data Source= D:\ la combies por el tuya
    System.IO.Path.GetDirectoryName(openFileDialog1.FileName

    • Editado santival jueves, 22 de noviembre de 2012 21:10
    jueves, 22 de noviembre de 2012 21:09
  • Hola gracias, ahora voy a probar de la manera que me indicas.

    Recién descubrí que poniendo ; (punto y coma) en vez de , (coma) me reconoce bien los datos el datagridview.

    Cómo podré solucionarlo? alguna sugerencia?

    Muchas gracias.

    jueves, 22 de noviembre de 2012 21:19
  • Deberias de trabajar con XML es mas confiable que te cargue los datos en un DataGridView
    viernes, 23 de noviembre de 2012 18:02
  • El problema estaba en el idioma regional de la PC, gracias a todos!

    Si alguien tiene un problema parecido la solución está cambiando las delimitaciones.

    Saludos.

    • Marcado como respuesta mar21_aet martes, 27 de noviembre de 2012 14:13
    martes, 27 de noviembre de 2012 14:11