10월 19, 2023

Websquare combobox setValue가 아닌 index로 설정하기 - setSelectedIndex()

 Websquare combobox에서 default 값을 설정할 때 

comboboxId.setValue() 로는 설정이 불가능한 상황이 있다. 


예를 들어 dataset을 사용하는데 2번째 행과 3번째 행이 모두 "Z"라는 value를 가지고 있을 경우이다. 


만약 내가 3번째 행을 default로 선택해서 보여주고 싶은데 2번째 행과 3번째 행이 모두 Z라는 value를 가지고 있다면


comboboxId.setValue("Z") 라고 하면 2번째 행이 디폴트로 보여진다. 


이럴 때는 setSelectedIndex를 사용하면 되는데 


setSelectedIndex( idx )
idx에 해당하는 index로 항목을 선택하는 기능으로 chooseOption, allOption 속성이 정의 된 경우 해당 item도 index에 포함된다.
Parameter
nametyperequireddescription
idxNumberY항목의 index.
Sample
  1. //아래와 같이 chooseOption이 적용 된 selectbox가 정의 된 경우.
  2. <xf:select1 id="selectbox1" chooseOption="true" style="position: relative;width: 148px;height: 21px;"disabledClass=" w2selectbox_disabled" appearance="minimal" >
  3. <xf:choices>
  4. <xf:item>
  5. <xf:label><![CDATA[남성]]></xf:label>
  6. <xf:value><![CDATA[M]]></xf:value>
  7. </xf:item>
  8. <xf:item>
  9. <xf:label><![CDATA[여성]]></xf:label>
  10. <xf:value><![CDATA[F]]></xf:value>
  11. </xf:item>
  12. </xf:choices>
  13. </xf:select1>
  14. selectbox1.setSelectedIndex(1); //chooseOption속성이 true임으로 "남성" 항목이 선택된다.



웹스퀘어 홈페이지에 나와있는 것처럼 index로 항목을 선택하는 기능이다. 


comboboxId.setSelectedIndex()  이런식으로 하면 되고 index는 0부터 시작하기 때문에 3번째 항목을 디폴트로 보여주고 싶으면 


comboboxId.setSelectedIndex(2) 라고 써주면 된다.