자바스크립트 따라하기- 단축 함수 사용하기(응용)

X-SCADA

자바스크립트 따라하기- 단축 함수 사용하기(응용)

자바스크립트 따라하기- 단축 함수 사용하기(응용) 


본 샘플엔 알람, 시나리오 등 다양한 스카다 객체들이 생성되어 있으며, 생성된 스카다 객체를 스크립트에서 접근하기 위해선 복잡한 명령어를 요구한다. 

단축 함수를 사용하면 jQuery처럼 간단하게 객체의 이름으로 스카다 객체에 접근할 수 있다.



단축 함수 샘플 따라하기


1. 객체를 생성할 때는 도구를 클릭하고 마우스 커서를 Design 영역으로 옮겼을 때 커서가 십자 표시로 되면 생성할 위치에 클릭한 상태로 드래그한다.

b8163ce58215d9a3c8d09823ee764816_1614242324_2804.png
2. SQLite DB를 생성한다.

인터넷에서 DB Browser for SQLite를 설치한다.

(https://sqlitebrowser.org/dl/)

b8163ce58215d9a3c8d09823ee764816_1614242335_2196.png

3.자신의 컴퓨터 환경에 맞는 버전을 다운로드한다.

 

4. DB Browser (SQLite)를 실행한다.

b8163ce58215d9a3c8d09823ee764816_1614242348_3612.png

5. 데이터베이스를 새로 생성한다.

b8163ce58215d9a3c8d09823ee764816_1614242656_9905.png

6. 테이블 정보를 아래와 같이 설정한다.

b8163ce58215d9a3c8d09823ee764816_1614242393_9095.png

id: INTEGER 타입. Primary key, Autoincrement 설정

ctime: datetime 타입. Unique 설정. 기본값 -> CURRENT_TIMESTAMP

name: TEXT 타입

content: TEXT 타입


7. 생성한 테이블에 임의의 값을 채워넣는다.

b8163ce58215d9a3c8d09823ee764816_1614242415_6995.png


8. SQLite데이터 소스를 추가한다.

b8163ce58215d9a3c8d09823ee764816_1614244927_7065.png

9.  1.에서 생성한 db를 지정한다.

b8163ce58215d9a3c8d09823ee764816_1614244934_9121.png
 

10. SELECT SQL 쿼리를 생성한다.

b8163ce58215d9a3c8d09823ee764816_1614244944_7765.png
11. 리스트뷰와 레이블 객체를 생성한다. 

b8163ce58215d9a3c8d09823ee764816_1614244959_7401.png
 


12. 레이블 객체의 텍스트를 Select로 변경한다.


13. 리스트뷰에 열을 4개 추가한다.


14. 페이지 스크립트를 아래와 같이 작성한다.

b8163ce58215d9a3c8d09823ee764816_1614245039_8075.png

15. 디자이너에서 F5키를 누르거나 실행 버튼을 눌러 뷰어를 실행한다. 

b8163ce58215d9a3c8d09823ee764816_1614245050_8715.png
 

16. 레이블 객체를 눌러 쿼리 결과를 리스트뷰에 띄울 수 있다.

b8163ce58215d9a3c8d09823ee764816_1614245064_7598.png
 
 

스크립트 코드 해석 

page_1 페이지

클릭 이벤트 추가

$XV(“label_1”).addEventListener(“click”, selectSQL);

 

$XV(“label_1”).addEventListener(“click”, selectSQL));

이름이 label_1인 뷰 객체를 가져와, 이벤트 리스너를 추가한다.

이벤트 유형: click

콜백 메소드: selectSQL

페이지 콘솔 창 결과: -

 

selectSQL 메소드

function selectSQL(event)

{

    $XD("sqlite_1").execute("query_1", null, onSuccess, null);

}

 

$XD("sqlite_1").execute("query_1", null, onSuccess, null);

이름이 sqlite_1인 데이터소스 객체를 가져온다. 가져온 데이터소스의 SQL 객체들 중 이름이 query_1인 SQL 쿼리를 연결된 데이터베이스에 전송하고, 성공할 경우 onSuccess 메소드를 호출하고 파라미터에 쿼리의 반환값을 싣는다.

페이지 콘솔 창 결과: -

 

onSuccess 메소드

function onSuccess(data)

{

$XV("listview_1").items.clear();

$XV("listview_1").items.addAll(data);

}

 

$XV("listview_1").items.clear();

이름이 listview_1인 뷰 객체를 가져와, 목록을 초기화한다.

페이지 콘솔 창 결과: -

 

$XV("listview_1").items.addAll(data);

이름이 listview_1인 뷰 객체를 가져와 data 인수로 목록을 채운다. (data 인수는 DataResultCollection 타입이어야 한다.)

페이지 콘솔 창 결과: -



0 Comments