안녕하세요 그레이프시티입니다.
문의 주신 내용에 답변 드립니다.
1. Multi Select 에서 선택 후 보여지는 문자 형식을 변경하고 싶습니다.
=> MultiSelect 컨트롤에서 항목을 선택 후, 보여지는 문자 형식의 경우, 헤더 내용을 작성하는데 사용되는 문자열 형식을 설정하거나 가져오는 headerFormat 속성을 사용하시면 됩니다. 다만, MultiSelect 컨트롤의 checkedItems의 첫번째 값은 변동이 될 수 있기 때문에 checkedItemsChanged 이벤트 에서 코드를 구현하였으며 아래 코드 스니펫을 참고하시기 바랍니다.
<wjInput.MultiSelect
(...)
checkedItemsChanged={this.onCheckedItemsChanged}
></wjInput.MultiSelect>
(...)
onCheckedItemsChanged(sender) {
(..)
sender.headerFormat = sender.checkedItems[0].country + " 외 {count} 건";
}
[headerFormat]
https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_input.multiselect.html#headerformat
2.기본적으로 조회 한 내용 중 특정 값 (10건 중 3건)을 로드 할때 부터 선택 되어있는 상태로 만들수는 없는지요?
=> 헤당 기능의 경우, MultiSelect 컨트롤이 항목 선택 여부를 확인하기 위해 checkedMemberPath 설정이 필요하며 별도 checkedMemberPath 값이 없는 경우, checked 속성을 추가하고 조건에 따른 참,거짓 값을 할당 한 뒤, 해당 data 값을 바인딩하시면 됩니다.
아래 샘플에서는 getInfo() 사용자 정의 함수에서 id 값이 3보다 작은 경우, checked 속성을 true로 설정해 초기에 값이 체크되도록 구현했습니다.
3.combo에서 기본값 설정을 어떻게 해야 될까요?
init에서 axios를 통해 데이터를 조회 한 후에 특정한 값으로 기본값을 설정하고 싶은데 어떻게 해야 될런지요?
=> Combobox 컨트롤의 initialized 이벤트에서 가져온 값을 할당한 후, 드랍다운 목록에서 현재 선택한 항목의 인덱스를 가져오거나 설정하는 selectedIndex 속성을 이용하여 초기 기본 값을 정하실 수 있습니다. 아래 코드를 참고하시기 바랍니다.
async _initCombo(sender) {
var temp = [];
await axios
.get(url)
.then((res) => {
var temp = res.data;
(..)
this.setState({ data: temp });
sender.itemsSource = this.state.data;
//sender.itemsSource = temp;
sender.selectedIndex = 5;
});
(..)
}
[selectedIndex]
https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_input.combobox.html#selectedindex
도움말 문서도 같이 전달 드리오니 확인 부탁 드립니다.
다른 궁금한 점이 생기면, 언제든 문의 주시기 바랍니다.
감사합니다.
그레이프시티 드림
* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.