Lendo a partir do arquivo .txt, exportando dados para o DataGridView

Eu sei que esta é uma pergunta risível, mas Deus, eu passei todo o meu último dia batendo com a minha cabeça e isso simplesmente não vai funcionar! O maldito professor nem mencionou nada sobre a importação de dados para o DataGridView!

Eu tenho uma tarefa de casa do Windows Forms C #: eu tenho que ler dados de um.txt (usuários) arquivar e colá-lo em umDataGridView tabela em c # Microsoft Visual Studio 2012. Os dados nousers.txt arquivo é algo parecido com os 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

Ignore os nomes das etiquetas (ID, Nome, Sobrenome ...), eu os escrevi apenas para maior clareza, o arquivo real tem apenas os dados brutos do usuário.

Agora, eu criei uma classe anteriormenteUsers, que possui estes campos:

identidadeNomeSobrenomeTelefoneVIPItens compradosPreço

e, em seguida, criou um DataGridView (usersDataGridView) e importou os campos da classeUsers nisso.

OK, algoritmicamente esta é uma tarefa fácil, não é?

Minha ideia era fazer o seguinte: ler o conteúdo do arquivo com umStreamReader, salvando cada linha em uma string e dividindo a string em partes usando\t como um delimitador comString.Split.

No entanto, uma vez que eu tenho essas linhas divididas ... bem, eu basicamente não tenho idéia de como importá-los para o DataGridView (eu "sei" que deve ser como umDataSource mas ... a interface do Visual Studio 2012 parece muito "complicada" para eu deixar-me descobrir como posso apontar uma string ou qualquer tipo de dado que seja como um DataSource).

Minhas lamentáveis ​​tentativas me levaram ao seguinte:

Tentativa 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;
}

Tentativa 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;
}

No entanto, eu continuo recebendo algum erro de besteira como

O tamanho do array de entrada é maior que o

Desde que eu literalmente não tenho experiência comDataGridView Eu acho que tenho alguns erros terríveis no nível algorítmico, certo ?!

Por favor, qualquer um me ajude! Eu li, copiei, colei, depilei e depurei de 20 edições diferentes sobre um tópico similar e ainda estou no nada!

Qual é oapropriado maneira de ler dados de um.txt arquivo, em seguida, colá-lo para um DataGridView?

Qualquer ajuda ou respostas são profundamente apreciadas !!

questionAnswers(1)

yourAnswerToTheQuestion