es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo cargar un arreglo en un datagridview en C# de la manera correcta?

Estoy tratando de cargar una matriz en un datagridview, la matriz se está llenando leyendo un archivo csv. Todo funciona bien, pero estoy un poco confundido acerca de cómo puedo descomponer aún más la matriz y cargar cada valor individual dentro de una celda.

Ahora mismo está cargando toda una línea en una celda, así que ¿cuál es la forma correcta de desglosar la matriz y guardar cada valor individual en una celda?

Este es el código con el que estoy trabajando:

public void Load()
{
using (StreamReader sr = new StreamReader(“Accounts.csv”))
{
string strResult = sr.ReadToEnd();
string[] result = strResult.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
}
dataGridView1.Columns.Add(“Account#”, “Account#”);
dataGridView1.Columns.Add(“Password”, “Password”);
dataGridView1.Columns.Add(“Server”, “Server”);
for (int i = 0; i < result.Length; i++)
{
string[] values = result[i].Split(‘;’);
dataGridView1.Rows.Add(new object[] { values[0], values[1], values[2] });
}
}

Este es el resultado que estoy obteniendo:

Y así es como se ve el archivo csv:

Account#;Password;Server
2104373470;um3skuu;Rsptrsd
2104373472;uar1kgh;2jvatkf
2104373475;6xuvtdp;ppjw5cj

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para desglosar el arreglo aún más y cargar cada valor individual dentro de una celda en el DataGridView, puede usar un bucle anidado para iterar a través de cada fila y columna. Aquí hay un ejemplo:

    public void Load()
    {
        string[] lines = File.ReadAllLines("Cuentas.csv");
    
        // Obtener encabezados de la primera línea del archivo CSV
        string[] headers = lines[0].Split(';');
        for (int i = 0; i < headers.Length; i++)
        {
            dataGridView1.Columns.Add(headers[i], headers[i]);
        }
    
        // Cargar datos desde el archivo CSV en el DataGridView
        for (int i = 1; i < lines.Length; i++)
        {
            string[] row = lines[i].Split(';');
            dataGridView1.Rows.Add();
    
            for (int j = 0; j < row.Length; j++)
            {
                dataGridView1.Rows[i - 1].Cells[j].Value = row[j];
            }
        }
    }
    

    En este ejemplo, leemos todas las líneas del archivo CSV en un arreglo, luego obtenemos los encabezados de la primera línea y los agregamos como columnas al DataGridView. Luego, iteramos a través de cada fila del archivo CSV (excluyendo la fila de encabezado) y la dividimos en un arreglo de valores. Agregamos una nueva fila al DataGridView y luego iteramos a través de cada valor en el arreglo de fila, estableciendo el valor de la celda correspondiente en el DataGridView. Al usar el índice i - 1 para la fila, nos aseguramos de que comencemos a agregar datos a la primera fila del DataGridView, ya que el bucle comienza en el índice 1 (excluyendo la fila de encabezado).

    Con este código, debería obtener una salida donde cada valor en el archivo CSV se carga en su propia celda en el DataGridView.

Comments are closed.