상당히 큰 데이터베이스를 검색하기 위해 LINQ to SQL을 사용하고 있고 페이징을 위해 listview 및 datapager를 사용하고 있습니다. 나는 Skip() 및 Take() 메서드를 알고 있고 제대로 작동하도록했습니다. 그러나 데이터 페이지의 결과 수는 Take() 메서드에서 결정된 페이지 크기가 될 수 있으므로 사용할 수 없습니다. 예를 들어Linq-to-sql, Listview 및 Datapager를 사용하는 페이징
:
var result = (from c in db.Customers
where c.FirstName == "JimBob"
select c).Skip(0).Take(10);
이 쿼리는 항상 1000 JimBobs가있는 경우에도, 10 개 이하의 결과를 반환합니다. 결과적으로 DataPager는 항상 단일 페이지가 있다고 생각하고 사용자는 전체 결과 세트를 탐색 할 수 없습니다.
페이지 탐색을 1000으로 표시하고 한 번에 10 개 항목을 바인딩하도록 데이터 탐색기를 속일 수 있습니까? 나는 objectdatasource를 사용하고 싶지 않다.
감사합니다.
나는 카운트를 얻는다. 그러나이 계산은 어디에서 사용합니까? 카운트가 1000이고 10이 아니라는 데이터 페이더를 어떻게 업데이트합니까? – guest
제발 도와주세요 ... 이걸로 붙어서 2 일이 지났습니다. 나는 아주 간단한 것을 놓치고 있습니까? – guest
필자는 데이터 페이더를 사용한 적이 없다 ... 페이징을해야한다면 skip & take를 사용하여 쿼리를 제한해야 하는가? 아니면 그것을 처리합니까? – taylonr