2009-11-12 3 views
0

목록 컨트롤을 두 번째 열 (또는 여러 열)로 묶는 방법은 무엇입니까? List 컨트롤이나 다른 Flex 컨트롤을 사용하여이 문제에 대한 해결책이 있는지 알려 주시기 바랍니다.Flex에서는 목록을 열로 어떻게 래핑합니까?

예를 들어 목록에 42 개의 항목이있는 목록이 있지만 목록 높이를 20 개 항목으로 제한하려면, 그 다음에 42 개의 항목으로 구성된 하나의 목록을 가져 오는 대신, 그 목록은 3 개의 인접 목록과 동일하게 보입니다. 첫 번째 항목은 20 개 항목, 두 번째 항목은 20 개 항목, 세 번째 항목은 2 개의 항목으로 구성됩니다. 42 개 항목의 원래 목록을 나타냄).

이 질문에 비슷한 보이지만에서는 ColdFusion에 있습니다
Wrapping lists into columns

+0

두 번째 행을 의미합니까? –

+0

팸플릿을 찾으십니까? – Amarghosh

+0

"wordwrap"과 비슷하지만 텍스트 레이블에 엄격하게 연결된 단어 랩은 하나가 아니라 두 개의 행에 걸쳐 있습니다 (텍스트 자르기는 피할 수 있음). –

답변

1

TileList를 사용하고 방향 변수를 변경하는 것이 가장 좋은 해결책입니다.

0

당신은 리피터 및 목록 항목에 대한 itemRenderer를 기반으로 간단한 라벨을 사용하고 완전히 목록을 사용하지 않도록 할 수있다. 맞춤 컨트롤 안에 모든 것을 래핑하면 List와 동일한 API를 제공 할 수 있으므로 소비자는 차이점을 결코 알 수 없습니다.

-1

List 컨트롤의 기본값 itemRenderer은 한 줄 텍스트 만 지원하는 TextInput입니다. 대신 TextArea을 사용하십시오.

<mx:List itemRenderer="mx.controls.TextArea"/> 
-1

목록에 다음과 같은 두 가지 속성을 설정하십시오 :

wordWrap=true 
variableRowHeight=true 
0

내가 다른 사람이 언급 한대로 두 번째 행을 찾고 생각합니다. wordWrap을 true로 설정하거나 다른 항목 렌더러를 사용하는 것이 가장 좋은 방법이지만 맞춤 항목 렌더러를 사용하면 개체가 표시되는 방식을보다 세부적으로 제어 할 수 있습니다.

+0

이 답변에 투표 한 사람이 누구인지 이유를 설명해주십시오. 나는이 해결책이 효과가 있다고 생각한다. –

0

가변 개수의 목록을 래핑하는 사용자 지정 구성 요소를 만드는 것이 좋습니다. 이 사용자 지정 구성 요소에는 "maxListHeight"라는 속성이있을 수 있습니다. 또한 "dataProvider"속성을 가질 수 있습니다. 이 사용자 지정 구성 요소는 가로로 정렬 된 목록 집합을 생성합니다. 사용자 지정 구성 요소에 의해 생성되는 목록의 수는 floor (dataProvider.length/maxListHeight) +1입니다. 생성 된 마지막리스트 이외의 모든 것은 maxListHeight의 listHeight를가집니다. 마지막으로 생성 된리스트는 다음의 listHeight를가집니다 : dataProvider.length % maxListHeight.

이 작업은 효과가 있지만 마스터 목록에 항목을 추가하고 제거하는 작업에 추가 작업이 필요합니다 (뒤에서 추가/제거되지 않은 경우). 또한 하나의 인스턴스가 아닌 여러 개의 인스턴스를 인스턴스화해야합니다.

+0

이 아이디어는 효과가 있지만 여러 인접 목록을 인스턴스화해야한다는 점에서 마음에 들지 않습니다. –

+0

또한이 솔루션이 마음에 들지 않습니다. 생성 된 목록에서 항목을 선택하면 다른 list.selectedItem을 모두 선택 취소하기위한 논리를 추가해야하기 때문입니다. –