ExtJS

[ExtJS] DB값에 따른 item hidden 설정

junjunwon 2020. 9. 4. 15:22

DB에서 json으로 값을 받아오고 Gson해서 원하는 데이터를 view로 가져왔다.

데이터는 setting="on" 아니면 "off"였다. 

즉, 페이지가 띄워질때

initServer()함수를 만들고 initEvent에 추가하면 initServer 함수가 동작하는데 , 해당 함수 안에 setting값을 받아왔고, 

on일때 특정 item field가 보이고, off일때는 안보이는게 포인트다.

 

머리로는 아주 간단한 로직이여서 금방 해결할 줄 알았는데, 해당 아이템을 동적으로 넣었다 뺐다 하는 함수나.. 방법을 몰랐다. 아무리 검색해도 뭐랄까..나랑은 거리가 먼 코드..의 느낌? 이건 나랑 상관없는 느낌..ㅎㅎ 초보자의 한계인 것 같다.

 

해결방법

지인한테 물어보니, item 속성에 hidden:true을 초기값으로 추가하고, if(setting=="on")일때 해당 속성을  hidden:false로 바꿔주라고 했다. (내 눈엔 동적이지만, 동적이 아닌 숨기고 보여주고 하는 단순한 부분)

 

if(ok=="on"){

form.findField('externalOnOff').setHidden(false);

}

과 같이 사용 가능하다.