2012-07-10 6 views
1

Oracle ADF를 사용하여 자동 완성 필드를 테스트하는 간단한 Proof-of-Concept 애플리케이션을 작성했습니다. 대부분 작동하지만 maxSuggestedItems 속성은 아무런 영향을 미치지 않습니다. 오라클의 설명서에 따르면 -1 이외의 값을 지정하면 반환되는 값 목록이 제한되고 맨 아래에 "전체 목록"이 반환되는 "기타 ..."항목이 포함되어야합니다. 대신 전체 목록이 항상 반환됩니다.Oracle ADF를 사용하여 maxSuggestedItems af : autoSuggestBehavior

수동으로 구현해야하는 항목입니까? 그렇다면 어떻게 접근 할 것인가?

JSFF 페이지는 다음 코드를 가지고 :

<af:inputText label="Accessories:" id="it4"> 
    <af:autoSuggestBehavior suggestItems="#{accessorySuggest.onAccessorySuggest}" 
          maxSuggestedItems="5"/> 
</af:inputText> 

다음과 같이 (모든 물론 하드 코딩) 제안 된 값을 반환하는 방법은 다음과 같습니다

private static final String[] accessories = 
{ "Alloy Wheel", "All-Weather Cargo/Trunk Mat", "All-Weather Floor Mats", 
    "Audio Unit - Base", "Audio Unit - Premium", "Auto-Dimming Mirror", 
    "Bluetooth", "Body Side Moldings", "Capert Floor Mats - Premium", 
    "Car Cover", "Cargo Hooks", "Cargo Liner", "Suggestion 1", 
    "Suggestion 2", "Suggestion 3", "Suggestion 4", "Suggestion 5", 
    "Suggestion 6", "Suggestion 7", "Suggestion 8", "Suggestion 9", 
    "Suggestion 10", "Suggestion 11", "Suggestion 12", "Suggestion 13", 
    "Suggestion 14", "Suggestion 15", "Suggestion 16", "Suggestion 17", 
    "Suggestion 18", "Suggestion 19", "Suggestion 20", "Suggestion 21", 
    "Suggestion 22", "Suggestion 23", "Suggestion 24", "Suggestion 25", 
    "Suggestion 26", "Suggestion 27", "Suggestion 28", "Suggestion 29", 
    "Suggestion 30" }; 

public List onAccessorySuggest(FacesContext context, 
           AutoSuggestUIHints hints) { 
    ArrayList<SelectItem> suggestItems = new ArrayList<SelectItem>(); 
    String submittedValue = hints.getSubmittedValue(); 

    //don't return anything until the user has entered at least 3 characters 
    if(hints.getSubmittedValue().length() < 3) { 
     return suggestItems; 
    } 

    for (String s : accessories) { 
     if (s.toUpperCase().startsWith(submittedValue.toUpperCase())) { 
      suggestItems.add(new SelectItem(s)); 
     } 
    } 

    return suggestItems; 
} 

답변

2

http://jdevadf.oracle.com/adf-richclient-demo/docs/apidocs/oracle/adf/view/rich/model/AutoSuggestUIHints.html

참조

전달 된 최대 제안 항목 값에 액세스하고이를 고려해야하는 구현입니다.이 문제는 out-of- 제안 목록 그래서 요약 ADF BC

에서 모델 기반 LOV 목록에서 오는 경우 박스는, 당신은 dshorten 수익 목록

프랭크

+0

감사 프랭크에게 AutoSuggestUIHints에서 최대 항목에 액세스 할 수 있습니다. 이것은 분명히 사실이며, 반환되는 응답의 수를 제한 할 수는 있지만, 할 수 없었던 것은 바로 사용할 수있는 BC 구성 요소와 함께 제공되는 "기타 ..."기능을 모방 한 것입니다. 클라이언트에게 반환되는 목록에 할 수있는 일이 있어야합니다. 내가 찾으면 너무 해킹하지 않기를 바랄뿐입니다. :) – sernaferna

+0

오늘은 불가능합니다. ADF BC의 모델 구동 목록에 표시되는 추가 링크는 자동 제안을 통하지 않고 스마트 필터입니다. nehavior 태그에서 수행 할 수있는 작업이 있는지 확인하기 위해 개선 요청을 제출할 것입니다. –

관련 문제