¿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
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: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 alDataGridView
y luego iteramos a través de cada valor en el arreglo de fila, estableciendo el valor de la celda correspondiente en elDataGridView
. Al usar el índicei - 1
para la fila, nos aseguramos de que comencemos a agregar datos a la primera fila delDataGridView
, 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
.