2012-09-17 3 views
0

안녕하세요, 저는이 질문에 대한 몇 가지 답변을 보았습니다.하지만 특이한 경우가 있습니다. 사용자가 코드에서 드롭 다운을 클릭하면 Grid보기 컨트롤을 사용하여 ASP.NET 웹 폼에 표시 할 내용을 제어하려고합니다. 이처럼 : ObjectDataSource를 사용에 대한데이터 소스가 서버 측 페이징을 지원하지 않습니다.

If ddlProducts.SelectedValue <> "-1" Then 
     gvCategories.DataSource = obj.getAll().Where(Function(c) c.productId = Integer.Parse(ddlProducts.SelectedValue)).Skip(0).Take(10) 

     gvCategories.DataBind() 

, 나는 그러나 오류 -

Both DataSource and DataSourceID are defined on 'gvCategories'. Remove one definition. 

를 얻을 난 뒤에 코드 목록의 필터링을 할 필요가 오직 데이터 소스 NOT DatasourceID으로 설정할 수 있습니다. 그들 모두는 코드가 필요 없다는 것을 강조합니다. 나는 어떻게 그것에 대해 가야 하느냐. 대답 해 주신다면 용서해주십시오.하지만 서둘러서 보지 못했을 것입니다. 고맙습니다.

답변

1

ObjectDataSource을 사용하여 목록을 필터링 할 수 있으며, 새 값 SelectParameter을 추가하여 매개 변수의 값을 전달하는 등의 방법으로 (프로그래밍 방식으로) 추가 할 수 있습니다. 그런 다음 값은 데이터 소스 쿼리에 사용할 수 있도록 데이터 공급자 클래스 (ObjectDataSource이 데이터를 요청하는 클래스)로 전달됩니다.