2016-08-17 2 views
0

크기가 약 10-20MB 인 텍스트 파일이 있습니다.다른 datagridview를 사용하여 datagridview 필터

이 옵션을 완성하고 싶습니다.

1) 텍스트 파일을 읽고 분할하십시오.

2) 각 행의 모든 ​​데이터를 DataGrid보기로 이동하십시오.

3) 추가 datagridview를 만듭니다. 사용자가 어떤 행을 볼 수 있고 1 열 (필터)의 값이 아닌지 정의 할 수 있습니다.

그러나 코드를 작성했지만 시간이 오래 걸립니다. 첫 번째 DataGrid보기로 텍스트를 읽는 데 약 40 초가 걸립니다.

나는 그것이 사용자까지 약 또한 40 ~ 50 secound 그것을 필터링합니다 필터링하려고

시간을 줄일 수있는 방법은 무엇입니까? 이런 종류의 일을하는 가장 좋은 방법은 무엇입니까? 데이터 소스를 사용하면 도움이 될 수 있습니까?

감사합니다.

답변

0

나는 linq를 사용하는 것이 더 좋다고 생각합니다.

파일을 이와 같이 읽으면 파일 줄 목록이 나타납니다.

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

이제 linq 문으로 필터를 필터링 할 수 있습니다.

그리고 단순히 데이터 그릿에 목록을 표시 할 수 있습니다.

모든 데이터를 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

관련 문제