2009-09-14 3 views
1

약 1300 개의 항목 목록에서 하나의 항목을 선택하는 작업이 포함 된 Silverlight 응용 프로그램을 작성하고 있습니다. 이 목록을 사용자에게 제공하는 가장 좋은 방법은 무엇입니까? ComboBox의 1300 개 항목이 너무 많다고 생각합니다. 그렇지? 이런 상황에 대한 모범 사례는 무엇입니까? 항목은 같은 패턴이 재고 위치입니다 :사용자가 선택할 수있는 큰 목록을 표시하는 방법?

행 1 - 통로 1 - 레벨 1
행 1 - 통로 1 - 레벨 2
...
행 1 - 통로 2 - 레벨 1
...
행 2 - 통로 1 - 레벨 1
등등.

또한 다음과 같은 몇 가지 다른 위치에있을 것입니다 : ... 지역 등을 준비 배송 선착장,

나는 아마도 목록 상자가 어떤 사용자에게 일치로 채워 시작 것입니다 텍스트 상자와 목록 상자를 가지고 싶습니다 TextBox에 입력됩니다. 데이터는 웹 서비스에서 가져온 것이거나 격리 저장소에 저장 될 수 있습니까?

답변

2

예, 1300은 콤보 상자에 비해 너무 많습니다. 콤보 상자를 사용하여 웹 사이트에서 내 나라를 선택하면 항상 내게 경계선이되며 1300 이상이됩니다.

데이터 구조를 사용하여 행을 선택한 다음 통로를 선택하고 세 가지 별도의 항목으로 레벨을 지정하는 것이 좋습니다. 매번 다음 상자를 업데이트하십시오. 각 선택 항목 내에서 목록 상자는 콤보 상자보다 빠르게 사용할 수 있지만 더 많은 화면 공간을 차지합니다.

+0

첫 번째 충동은 세 개의 드롭 다운 또는 목록 상자를 갖는 것입니다. 첫 번째 행은 행 목록을 제공합니다. 사용자가 두 번째를 선택하면 해당 행의 통로 목록이 채워집니다. 선택이 끝나면 세 번째 레벨이 레벨 목록으로 채워집니다. 또는 사용자가 행을 선택한 다음 통로 목록이있는 새 화면을 표시하십시오. 어느 쪽이든 그것은 각 선택에 대해 서버로의 왕복입니다. – Jay

+0

3 개의 드롭 다운 목록과 관련해서는 여전히 '패턴'의 일부가 아닌 다른 위치가 필요합니다. 행, 통로 및 레벨로 마스터 목록을 분리하는 방법은 무엇입니까? 사용자가 선택한 후에 3 개의 선택 항목을 하나로 병합하는 방법은 무엇입니까? 3 번 서비스 콜? 하나의 서비스 요청을 한 다음 클라이언트에서 분리하십시오. – DaveB

1

사용자가 입력 할 때 텍스트를 기반으로 목록을 필터링하는 위의 편집 상자가있는 목록 (또는 추가 정보가있는 경우 표)을 사용하십시오.

기본적으로 질문에서 제안한 것과 다른 점은 모든 데이터를 표시 한 다음 필터링하는 것입니다.

1

귀하의 항목이 그룹화 된 것처럼 들립니다. 즉, 트리보기를 사용하여 항목을 표시하거나 선택할 수있는 영역의 이미지 (평면도)를 표시 할 수 있습니다.

자동 완성 기능이있는 텍스트 상자 (그리고 텍스트 상자 옆에 실시간으로 가장 좋은 추측 목록이 표시됨)를 사용하면이 문제를 해결할 수 있습니다.

+0

나는 treeview 아이디어에 동의하지만 자동 완성은 "old-skool"이라고 동의하지 않습니다. 자동 완성은 매우 웹 2.0입니다 (Google 제안, 스택 오버플로 등). 반면에 트리 뷰는 더 오래된 구식 (Outlook, Windows, Winforms 등)의 소리가 들린다 –

0

@tom과 @davidrutten에 모두 동의합니다. 트리 뷰 또는 자동 완성 유형 컨트롤이 가장 좋습니다. TreeView 및 AutoCompleteBox 컨트롤을 살펴보십시오. Silverlight toolkit

+0

자동 완성 상자가 작동 할 수도 있습니다. 페이지가 렌더링 될 때마다 1300 개의 위치를 ​​모두 다운로드해야합니까?어플 리케이션에 전 세계에 저장할 수 있습니까? AutoCompleteBox가 ASHX 서비스를 사용하여 SilverlightFX가 그것을 채울 수 있습니까? 그렇게 보지 못했습니다. TextBox를 사용하면 여전히 선택 항목을 제한하지 않습니다. TreeView 살펴 보겠습니다. – DaveB

+0

AutoCompleteBox에 도달하기 전에 필터링을 원할 수 있습니다. 즉, Autocompletebox를 사용하여 꽤 세부적인 제어를 할 수 있습니다. 마지막 프로젝트는 텍스트 변경 이벤트를 처리하고 매번 웹 서비스를 호출하여 20 개의 항목 목록을 얻는 것입니다. 필요한 경우 AutoCompleteBox를 사용하여 추가 필터링을 수행 할 수도있었습니다. ashx에 대한 지원이 얼마나 많이 지원되는지 잘 모르겠습니다 만, 어떤 방식 으로든 사용할 수 있어야합니다. 해보려는 경우 결과를 게시하십시오. –

관련 문제