Leyendo desde un archivo .txt, luego exportando datos a DataGridView

Sé que esta es una pregunta risible, pero Dios, ¡me he pasado todo el último día golpeándome la cabeza con eso y simplemente no funcionará! ¡El maldito profesor ni siquiera mencionó nada sobre la importación de datos a DataGridView!

Tengo una tarea de C # Formularios de Windows: Tengo que leer datos de un.txt (usuarios) archivar y pegarlo en unaDataGridView tabla en C # Microsoft Visual Studio 2012. Los datos en elusers.txt archivo es algo así con delimitadores TAB:

-------------------------------------------------
    ID    Name  Surname Telephone VIP Age Balance
-------------------------------------------------
    0001  John  Killer  1-500-300  0  13  2272
    0002  Name  Surname 1-500-200  0  27  225
    0003  Martin King   1-500-400  1  41  1070

Ignorar los nombres de las etiquetas (ID, Nombre, Apellido ...), los escribí solo para mayor claridad, el archivo real solo contiene los datos del usuario en bruto.

Ahora, he creado previamente una claseUsers, que tiene estos campos:

CARNÉ DE IDENTIDADNombreApellidoTeléfonoVIPArtículos compradosPrecio

y luego creó un DataGridView (usersDataGridView) e importó los campos de la claseUsers en eso.

OK, algorítmicamente esta es una tarea algo fácil, ¿no es así?

Mi idea era hacer lo siguiente: leer el contenido del archivo con unaStreamReader, guardando cada línea en una cadena, luego dividiendo la cadena en partes usando\t como un delimitador conString.Split.

Sin embargo, una vez que dividí esas líneas ... bueno, básicamente no tengo idea de cómo importarlas en el DataGridView (sé que debería ser como unDataSource pero ... la interfaz de usuario de Visual Studio 2012 me parece demasiado "complicada" para dejarme entender cómo puedo apuntar una cadena o cualquier tipo de datos, como DataSource).

Mis lamentables intentos me llevaron a lo siguiente:

Intento 1:

public void Test_1()
{
    string filePath = string.Format("{0}/databases/{1}", AppDomain.CurrentDomain.BaseDirectory, "user_db.txt");

    string[] textData = System.IO.File.ReadAllLines(filePath);
    string[] headers = textData[0].Split('\t');

    DataTable dataTable1 = new DataTable();

    foreach (string header in headers)
        dataTable1.Columns.Add(header, typeof(string), null);

    for (int i = 1; i < textData.Length; i++)
        dataTable1.Rows.Add(textData[i].Split('\t'));

    //Set the DataSource of DataGridView to the DataTable
    promotionsDataGridView.DataSource = dataTable1;
}

Intento 2:

public void ReadFromFile()
{
    string delimeter = "\t";
    string tableName = "BooksTable";
    string fileName = string.Format("{0}/databases/{1}", AppDomain.CurrentDomain.BaseDirectory, "bigtest.sql");

    DataSet dataset = new DataSet();
    StreamReader sr = new StreamReader(fileName);

    dataset.Tables.Add(tableName);
    dataset.Tables[tableName].Columns.Add("InventoryID");
    dataset.Tables[tableName].Columns.Add("Brand");
    dataset.Tables[tableName].Columns.Add("Category");
    dataset.Tables[tableName].Columns.Add("Description");
    dataset.Tables[tableName].Columns.Add("Promotions");
    dataset.Tables[tableName].Columns.Add("Quantity");
    dataset.Tables[tableName].Columns.Add("Price");

    string allData = sr.ReadToEnd();
    string[] rows = allData.Split("\r".ToCharArray());

    foreach (string r in rows)
    {
        string[] items = r.Split(delimeter.ToCharArray());
        dataset.Tables[tableName].Rows.Add(items);
    }
    this.productsDataGridView.DataSource = dataset.Tables[0].DefaultView;
}

Sin embargo, sigo recibiendo un error de mierda como

El tamaño de la matriz de entrada es más grande que el que sea

Ya que literalmente no tengo experiencia conDataGridView Supongo que tengo algunos errores terribles a nivel algorítmico, ¿verdad?

Por favor, cualquiera, ayúdame! He leído, copiado, pegado, compilado y depurado de como 20 temas diferentes sobre temas similares y todavía no estoy en ninguna parte.

Cual es elapropiado forma de leer los datos de una.txt archivo, y luego pegarlo en un DataGridView?

Cualquier ayuda o respuesta son muy apreciadas !!

Respuestas a la pregunta(1)

Su respuesta a la pregunta