2012-04-13 2 views
0

동일한 4 개의 Gridview를 동일한 페이지에 넣을 시나리오가 있습니다. (이들은 Ajax TabControl의 다른 탭에 있습니다.) 동일한 원본 데이터를 표시하지만 공통 기본 테이블에는 원본 데이터의 4 개의 해당 그룹이 있습니다. 그래서 Tab 1의 Group 1, Tab 2의 Group 2 등을 보여주고 싶습니다. 이러한 Gridview에는 복잡한 컨트롤이 포함되어 있으므로 불필요한 반복을 피하기 위해 모두 동일한 데이터 소스를 사용하는 것을 선호합니다. 삽입 및 업데이트 명령은 완전히 동일합니다.바인딩하는 GridView를 기반으로하는 매개 변수로 SQLDataSource를 가질 수 있습니까?

따라서 이론적으로 SQLDataSource에 바인딩하는 GridView를 기반으로 데이터를 필터링 할 수있는 방식으로 Select 명령을 작성할 수 있습니다. 문제는 모든 GridViews에 대해 동일한 SQLDataSource를 사용하면 각 GridView가 SQLDataSource에 어떤 것을 호출하는지 알려주지 못합니다. 아마도 바인딩이 무엇인지 알기 전에 SQLDataSource가 먼저 바인딩되기 때문에 이것이 가능하지 않을 수도 있습니다.하지만 확실하지 않습니다. 누구든지이 일을 할 수있는 방법을 생각할 수 있습니까?

+0

나는 이것이 SqlDataSource와는 다른 간단한 작업을 할 수 있다고 생각한다. – Aristos

답변

0

SQLDataSource의 OnSelecting 이벤트를 사용하여 매개 변수 값을 동적으로 변경할 수 있습니다. 이것은 서버 측 코드에서 수행 할 수 있습니다.

SQLDataSource에서 SQL 데이터베이스에서 데이터를 가져 오는 현재 gridview 고유 키를 보유하는 속성을 만듭니다.

Gridview의 DataBinding 이벤트에서이 속성에 고유 한 gridview 키를 할당합니다.

이 속성에 따라 SQLDataSource의 OnSelecting 이벤트에서 매개 변수를 변경합니다.

내가 누락 된 부분이 있으면 알려주십시오.

관련 문제