Загрузите файл .txt в GridControl (DevExpress)

Я искал в сети, но не нашел ничего полезного для моего случая. Я использую DevExpress/GridControl... и я понятия не имею, как загрузить .txt в GridControl с двумя столбцами (разделить на txt ==> '/t')


person Hacking Games    schedule 28.09.2013    source источник


Ответы (1)


DevExpress рекомендует использовать BindingList<T> для создания данных привязки во время выполнения. Затем вы назначаете это свойству GridControl.DataSource. Дополнительную информацию см. здесь.

Вам нужно будет создать промежуточный класс (или структуру) для хранения строки данных из вашего текстового файла:

public class TextFileData
{
    public TextFileData(string columnA, string columnB)
    {
        ColumnA = columnA;
        ColumnB = columnB;
    }

    public string ColumnA { get; set; }
    public string ColumnB { get; set; }
}

Затем реализуйте метод для открытия файла, последовательного чтения и преобразования строки в TextFileData и добавления ее в ваш экземпляр BindingList<TextFileData>. Что-то типа:

public static class TextFileReader
{
    public static BindingList<TextFileData> Read(string path)
    {
        var list = new BindingList<TextFileData>();

        using (StreamReader sr = new StreamReader(path))
        {
            while (sr.Peek() >=0)
            {
                String line = sr.ReadLine();
                string[] columns = line.Split('\t')

                list.Add(new TextFileData(columns[0], columns[1]));
            }
        }

        return list;
    }
}
person pixelbadger    schedule 29.09.2013