2011-08-12 5 views
5

여러 필드가있는 Dojo DataGrid가 있습니다. 현재 한 번에 한 필드를 검색하도록 쿼리를 설정하고 있습니다.dojo 데이터 격자의 모든 필드를 검색하도록 조회 설정

grid.setQuery({name:"Bob"}, {ignoreCase:true}); 

그러나 모든 필드를 한 번에 검색하는 쿼리를 원합니다. 예를 들어, "name", "friend", "family"라는 세 개의 필드가 있습니다. 그리드에 표시 할 세 개의 필드 중 하나에 "Bob"이 포함 된 행만 원한다고 가정 해 봅시다. 세 가지 별도의 쿼리없이 어떻게 처리 할 수 ​​있습니까?

도움을 주시면 감사하겠습니다.

답변

2

상점이 ItemFileReadStore 또는 QueryReadStore입니까?

ItemFileReadStore 경우에 당신은 AndOrReadStore 그렇지 않으면 http://dojotoolkit.org/reference-guide/dojox/data/AndOrReadStore.html

을 활용할 수 있습니다, 제한된 가져 가게에 대한 최선의 제안은 저장소가을 할 때되도록 필터링 옵션을 지원하도록 백엔드 코드를 조정하는 것 POST (또는 GET)를 사용하면 검색하려는 필드의 배열을 파싱하고 이에 따라 결과 집합이 반환됩니다.

당신은 당신이 당신의 비즈니스 요구에 따라 패러다임을 조정해야 할 것

start 0 
count 25 
columnsToQuery : ["name","friend","family"] //or perhaps a CSV string will do 
columnOperator : "AND" 
columnValue : "Bob" 

같은 것을 볼 수 있지만 것만큼 서버가 제대로 필터링 입력이 방법에 따라 결과 집합을 반환 할 수 있습니다로 작동합니다.

호출은 이러한 요청이 될 것 생성

grid.setQuery({ 
    columnsToQuery : ["name","friend","family"], 
    columnOperator : "AND", 
    columnValue : "Bob" 
}); 
관련 문제