2016-08-17 7 views
0

У меня есть текстовый файл размером около 10-20 МБ.фильтр datagridview с использованием другого datagridview

Я хочу использовать эти параметры.

1) прочитайте текстовый файл и разделите его.

2) переместите все данные в каждой строке в представление данных.

3) создать дополнение datagridview. что пользователь может определить, какая строка может быть видимой и которая не соответствует значениям 1 столбца (фильтра).

Я написал код, однако, однако, это занимает много времени. чтение до первого просмотра datagrid текст занимает около 40 секунд.

, когда я пытался фильтровать это занимает около 40-50 также secound до пользователя процеживают,

есть способ уменьшить время? Каков наилучший способ сделать это? и может ли быть полезным использование источника данных?

Thanks,

ответ

0

Я думаю, что его лучше использовать linq.

Прочтите свой файл, как этот, и у вас есть список строк файла.

var lst = System.IO.File.ReadAllLines(FilePath).ToList(); 

Теперь вы можете отфильтровать список по заявлениям linq.

И вы можете просто показать список в своем datagrid.

Если вы хотите показать все данные в datagrid, требуется время.

Вы также можете создать класс для этой цели

public class MyLine 
{ 
    public string Line {get; set; } 
    public bool IsVisible { get; set; } 
} 

Затем вы можете прочитать файл и иметь список или ваш класс, как это:

var lst = System.IO.File.ReadAllLines("") 
       .Select(x => new MyLine() { Line = x, IsVisible = true }); 

Тогда для получения видимых из них писать этот запрос:

var Visibles = lst.Where(x => x.IsVisible); 

Надеюсь, это поможет.

+0

Я хочу, чтобы пользователь отфильтровал его, как я могу это сделать? – Barakr

+0

Можете ли вы подробнее рассказать о своем проекте, текстовом файле и дизайне? Или отправьте изображение своего дизайна формы. – MSL

Смежные вопросы