2012-06-20 6 views
0

저는 클라이언트 서비스 응용 프로그램에서 일하고 있습니다. 이제 클라이언트에서 DAO를 수행하는 것과 같이 "야생 일"을 할 수있게되었습니다. - 내가 클라이언트에서 데이터베이스에 전화를 걸 경우) 내가 페이지 매김을하는 데 사용되는 클라이언트 - 서버 응용 프로그램에서의 GridView로드WinForms에서 Datagrid를 Linq 쿼리에 바인딩

...

은 ... 나는의 GridView에 바인딩 할 수 있습니다 linq 쿼리 직접 또는 "ToList"또는 그 전에 뭔가를 호출해야합니까? GridView는 질의에 대한 비동기 호출을 만들어 게으른 로딩을 사용하여 그리드가 100.000 행이되지 않도록 할 수 있다고 생각합니다.

존재합니까? 그것은 가능합니까 ??? 미리 감사드립니다 !!

답변

1

Linq와 페이지 매김을 할 수 있습니다. SkipTake을 올바르게 사용해야합니다. 다음과 같이 입력하십시오 :

var bindResults = query.Skip(pageNumber).Take(pageSize); 

이 명령은 실행하고 표시하려는 작은 레코드의 서브 세트만을 제공합니다.

+0

그래, 클라이언트 측 응용 프로그램에 GridView가 IQueryable 8을 전달하여이 스태프를 자동으로 처리하지 않는다고 생각한 것 같습니다. – zapico

+1

@zapico : 사용자 정의 DataGridView를 작성해야합니다. 이 행동 변화를 달성하기 위해 파생 된 클래스입니다. 확장 메소드를 사용하여 그 중 일부를 얻을 수 있지만, 스크롤 할 때 동작하는 방식을 변경하려면 그 이상의 방법이 필요합니다. –

관련 문제