2011-08-23 5 views
2

주문 그리드에 주문 세부 정보가 포함 된 하위 그리드가 있습니다. 일반적으로 RowDataBound 이벤트를 구현하여이 작업을 수행하고 있습니다. 하지만 모든 주문 행에 대해 데이터베이스에서 주문 세부 정보를 가져 오는 것이 좋지 않다고 생각합니다. 더 좋은 방법이 있습니까?하위 그리드에 세부 정보 표시

감사합니다.

+0

일부 예제가 필요한 경우 응답자의 시작점으로 현재 관련 코드를 제공해야합니다. – pseudocoder

답변

0

"나쁜 생각"에 관한 한, 성능 관점에서 말한 것 같습니다. 제 생각에 당신이 설명하는 시나리오는 애플리케이션의 성능 기대치에 따라 반드시 나쁜 아이디어는 아닙니다. 제안하는 방법은 내가 생각할 수있는 가장 구현하기 쉬운 방법이며 페이지가 자주 방문되지 않을 경우 가장 좋은 방법이 될 수 있습니다.

이렇게 말하면서, 나는 이것에 접근하는 두 가지 다른 방법을 생각할 수 있습니다.

1) DB 레벨에서 주. 세부 사항을 결합한 후, 주 주문 레코드가 변경 될 때만 외부 행을 추가하여 repeater를 사용하여 테이블을 수동으로 렌더링하십시오. 이 방법은 각 페이지를 렌더링 할 때 데이터베이스를 한 번만 방문하면되지만 프레젠테이션에 더 많은 코딩이 필요합니다.

2) 페이지로드시 모든 주문 세부 정보를 DataTable 또는 컬렉션으로 미리 가져 와서 외부 gridview RowDataBound에서 세부 정보를로드하십시오. 이 방법을 사용하면 데이터베이스에 대한 방문을 두 개까지 줄일 수 있지만 (주문에 대해 하나, 주문 세부 사항에 대해 하나) 프리젠 테이션 코딩을 많이 요구하지는 않습니다.