2017-01-03 4 views
1

각 열 필터의 왼쪽에있는 드롭 다운 선택에 bd를 추가 할 수있는 사용자 정의 작업에 익숙합니다. 난 후 무엇무료 jqGrid - "빈"및 "비어 있지 않음"에 대한 사용자 정의 필터 규칙

는 필터링에 대한 사용자 지정 사업자의 두 가지 새로운 유형을 추가하는 것입니다 1. 빈 2.하지 빈

나는 그 자체 그것을 달성하는 방법을 알고 있지만, 나는이 문제와이 Free JqGrid 내의 그러한 흐름의 UX. 이 두 가지 사용자 지정 연산자는 사용자가 선택한 후에는 사용자가 입력 할 필요가 없기 때문에 빈 값으로이 연산자를 선택한 후 '입력'을 클릭해야합니다. 매우 혼란 스럽습니다.

  1. 트랜잭션이 아무 것도 입력하는 사용자를 기다리지 않고 내가,이 연산자를 선택하면 이동합니다, 또는 :

    는 내가 알고 싶은 것은 다음 achive 이미 새로운 사용자 정의 연산자를 정의 고려하는 방법이다 enter (onSelect와 같은 것)를 클릭하십시오.

  2. 선택적으로 특정 연산자가 선택되면 해당 특정 필터 내에 아무 것도 입력하지 않을 수 있습니다.

감사합니다,

탈.

답변

2

정의 문제 정의를 가리켜 주셔서 감사합니다. unary 작업. 새로운 옵션 customUnaryOperations 안에 사용자 지정 단항 연산을 지정할 수 있도록 free jqGrid 코드 the changes을 커밋했습니다.

The demo은 "em"("비어 있음") 및 "nm"("비어 있지 않음")의 두 가지 사용자 지정 필터링 작업을 정의하고 "양"및 "메모"열의 작업을 사용합니다. "Notes"열은 표준 (미리 정의 된) "nu"("is null") 및 "nn"("is not null") 연산을 추가로 사용합니다. 열 "금액은"

searchoptions: {sopt: ["eq", "ne", "em", "nm"]} 

를 사용하고 열은 "참고"

searchoptions: {sopt: ["cn", "bw", "ew", "eq", "bn", "nc", "en", "nu", "nn", "em", "nm"]} 

추가로 데모 customSortOperations 새로운 customUnaryOperations 사용하는 사용 오른쪽에

customUnaryOperations: ["em", "nm"], 
customSortOperations: { 
    em: { 
     operand: "=''", 
     text: "is empty", 
     filter: function (options) { 
      var v = options.item[options.cmName]; 
      if (v === undefined || v === "") { 
       return true; 
      } 
     } 
    }, 
    nm: { 
     operand: "!=''", 
     text: "isn't empty", 
     filter: function (options) { 
      var v = options.item[options.cmName]; 
      if (v !== undefined && v !== "") { 
       return true; 
      } 
     } 
    } 
} 
+0

안녕 올렉, X를 단항 조작을 사용할 때 열의 열이 작동하지 않습니다. 나는 그것이 재설정 할 가치가 없다는 사실 때문이라고 생각합니다. 따라서 사용자는 X를 클릭 한 결과로 어떤 반응도 나타나지 않습니다.이 모드에서 벗어나는 유일한 방법은 다른 op를 선택하는 것입니다. X를 클릭하십시오. – Tal

+0

@Tal : 나는 당신이 옳다고 생각합니다. 현재 작업이 단항 작업 인 경우 "X"를 클릭하면 검색 작업을 기본값 (searchoptions.sopt [0] 또는 o.defaultSearch)으로 다시 설정하는 것이 좋습니다. 무료 jqGrid 코드를 변경하고 무료 jqGrid를 새로 고침하도록 알려줄 것입니다. 나는 지금 다른 일을해야하지만, 나는 나중에 당신에게 의견을 남긴다. – Oleg

+0

@Tal : GitHub에 [해당 변경 사항] (https://github.com/free-jqgrid/jqGrid/commit/a6e0aa1b8d83a77155c6e10c1e5758c22a238be9)을 위탁했습니다. 무료 jqGrid를 다시로드하십시오. 사용하고 "X"의 동작을 테스트하십시오. 그런데 [데모] (http://www.ok-soft-gmbh.com/jqGrid/OK/formEditOnDoubleClick-jqueryui-fa3-customUnaryOperations.htm)는 GitHub에서 jqGrid를로드하므로 GitHub에서 fetch하는 데 사용할 수 있습니다. 최신 변경 사항, 내가 만든. – Oleg