2011-08-26 4 views
2

저는 최신 jqGrid 버전을 사용하고 있습니다. 사용자 정의 규칙을 사용하여 로컬 필터링을 수행 할 수 있는지 궁금합니다 (아래 예제 참조). 우선, 필터 도구 모음이 과거에jqGrid 필터링 도구 모음의 빌드로 사용자 정의 필터링

jQuery("#grid").jqGrid('filterToolbar', options);

을 적용하여 내가 현재 현지 필터링을 지원하지 않습니다 사용이 수동 (버전을 구현 스위치, 그래서 내 요구에 따라이 기능을 추가 할 수 있습니다) 그리고 최신 버전으로 업데이트 한 후 jqGrid가 지난 몇 달 동안 인상적으로 기능이 증가하면서 기본적으로이 기능을 기본적으로 제공하는지 (자체 필터링이 아닌 로컬 필터링 규칙) 사용자에게 묻습니다. 나는 설명서를 읽고 인터넷을 검색했지만 적합한 예제를 찾지 못했습니다.

다음은 내가 달성하기를 원하는 예입니다.

표시되는 사람의 이름을 보유하고있는 열 First Name이 있습니다.

Stefan 
Stephan 
Stephano 
Stelios 
Philip 
Phillip 
Philipp 
Ivan 
Iwan 
... 

는 이제 사용자 :

Stefan 
Stephan 
Stephano 
Stelios 

지금까지 너무 좋아해야 열 First Name에 대한 필터링 줄과 기본 필터링 알고리즘 결과에 Ste 들어갑니다. 그러나 ortographically 비슷한 이름을 표시하려면 어떻게해야합니까? 나는 사용자가 임의의 문자 0 회 이상에 대한 와일드 카드를 의미 *

Stefan 
Stephan 
Stephano 

그래서 당신이 볼 만 표시에 Ste*an*을 입력합니다. ? 정확히 한 번 모든 문자를 의미 곳 또한 나는 사용자가

Stefan 

결과 Ste?an* 입력 할 수 있어야합니다. 마지막 요구 사항은 필터링이 더 관대와 일치하는 구멍 라인 입력, 즉 e*o (시작 및 종료, 정규 표현식에 해당),하지만 텍스트가 포함 된 경우 열 값과 일치뿐만 아니라 일치하는 것입니다

Stephano 
Stelios 

* 와일드 카드와 함께 나에게 힌트를 줄 수 있다면 다른 문제가 발생합니다. 사전

카이

답변

3
내 오랜 답변에서

herehere에서

덕분에 나는 하나의 사용자 정의 필터링을 구현할 수있는 방법을 설명했다.

당신이 '클라이언트'열의 필터 예 "EV"에 대한 the demo 유형에서 당신은 다음을 참조 경우 :

enter image description here

당신은 쉽게 예를 들어 확인하기 위해 데모를 수정할 수 있습니다 '스테판' 및 'Stefan'과 동일합니다.

나는 개인적으로 주로 을 filterToolbar 옵션에 사용합니다. ignoreCase: true의 사용과 함께 아주 좋은 사용자 경험을합니다.개인적으로는 그러한 필터링만으로 충분합니다. 고급 사용자는 고급 검색을 사용하여 '시작', '포함', '포함'등의 필터를 만들 수 있습니다. Ste*an* 대신.

그럼에도 불구하고 my old demo의 아이디어를 사용하여 jqGrid에서 사용하는 일부 internal searching methods을 덮어 쓸 수 있습니다.

+0

Oleg,이 대답은 부분적으로 나를 도와 주었기 때문에 나는 그것을 받아들입니다. 우리 고객이 *와 *를 지원하기를 원하는가? 우리는이 funcionality를 우리 자신에 추가해야했습니다. 감사. – Kai

+0

@ 카이 : 천만에! – Oleg