PropertyEventMethod찾아보기
$w.data - 5.0_1.3521B.20190311.114514

DataColletion을 전체적으로 제어하는 기능을 제공한다.
예를 들어 다건의 데이터 객체에서 한번에 데이터 꺼내오기 또는 셋팅하기와 동적으로 데이터 객체 생성하기 등이 있다.

Type

engine

Property Summary

Event Summary

Method Summary

create( dataCollectionString , dataCollectionObject )
dataList 및 dataMap을 동적으로 생성
get( type , dcOptions , returnOptions )
조건에 의해 다건의 dataList와 dataMap의 객체를 꺼내온다.
getAllDataCollection( type )
한 화면 내에 있는 모든 DataCollection 정보를 반환
getInfo( idArray )
DataCollection의 상세 정보(xml에서 입력한 attribute 값)를 조회하는 함수
getOption( propertyName )
dataCollection객체의 속성값을 꺼내온다
remove( dataCollectionID )
dataList, dataMap, linkedDataList를 삭제하는 함수
set( dataType , dataObject , idArray )
생성 되어 있는 여러개의 dataList와 dataMap의 값을 한번에 설정한다.
setOption( propertyName , propertyValue )
dataCollection객체의 속성을 설정한다

Property Detail

Event Detail

Method Detail

create( dataCollectionString , dataCollectionObject )
dataList 및 dataMap을 동적으로 생성. 아래 예제와 같이 두 가지 방법(XML 및 JSON)으로 생성 가능.
Parameter
nametyperequireddescription
dataCollectionStringStringYdataList, dataMap의 XML 문자열.
dataCollectionObjectObjectYdataList, dataMap의 JSON 객체
Sample
// dataList 생성 (XML 문자열) var dcStr = '<w2:dataList id="dataList1" baseNode="vector" repeatNode="item" valueNode=""> '+ '<w2:columnInfo>'+ '<w2:column id="OrderID" dataType="text"></w2:column>'+ '<w2:column id="CustomerID" dataType="text"></w2:column>'+ '<w2:column id="EmployeeID" dataType="text"></w2:column>'+ '<w2:column id="OrderDate" dataType="text"></w2:column>'+ '</w2:columnInfo>'+ '</w2:dataList>'; $w.data.create(dcStr); // dataMap 생성 (XML 문자열) var dcStr = '<w2:dataMap baseNode="map" id="dataMap1">' + '<w2:keyInfo>' + '<w2:key id="key1" name="name1" dataType="text"></w2:key>' + '<w2:key id="key2" name="name2" dataType="text"></w2:key>' + '</w2:keyInfo>' + '</w2:dataMap>';' $w.data.create(dcStr); // dataList 생성 (JSON 객체) var option = { "id" : "dataList1", "type" : "dataList", "option" : { "baseNode": "list", "repeatNode": "map" }, "columnInfo" : [ { "id" : "Code", "name": "코드그룹", "dataType" :"text" }, { "id" :"CodeName", "name" : "코드명", "dataType" :"text" } ] }; $w.data.create( option ); // dataMap 생성 (JSON 객체) var option = { "id":"dataMap1", "type":"dataMap", "option":{ "baseNode":"map" }, "keyInfo":[ { "id":"column1", "name":"column1", "dataType":"text" },{ "id":"column2", "name":"column2", "dataType":"text" } ] }; $w.data.create( option );
get( type , dcOptions , returnOptions )
조건에 의해 다건의 dataList와 dataMap의 객체를 꺼내온다.
return type으로 XML, ARRAY, JSON이 있다.
Parameter
nametyperequireddescription
typeStringY반환 타입명. JSON, XML, ARRAY 가 있다.
dcOptionsArrayY각 DataCollection(DataMap/DataList) ID 또는 검색 조건을 가진 JSON 객체을 담고 있는 Array.
returnOptionsJSONNreturn 객체에 대한 옵션이 담긴 JSON 객체.
Return
typedescription
JSON||XML||Arraytype에 따른 dataCollection의 데이터 객체.
Sample
//dataCollection의 모양이 아래와 같을 경우 <w2:dataCollection> <w2:dataMap id="dataMap1" style="" valueAttribute=""> <w2:keyInfo> <w2:key id="name" name="이름" dataType="text"/> <w2:key id="addr" name="주소" dataType="text"/> </w2:keyInfo> </w2:dataMap> </w2:dataCollection> //별도의 조건이 없이 DataCollection의 ID만 줄 경우. $w.data.get("JSON",["dataLMap1"]); //단건 $w.data.get("JSON",["dataLMap1","dataList1"]); //다건 //return Data 예시 - 단건 ) { "dataMap1": {"name":"WebSquare","addr":"서울시"} } //DataCollection의 조건이 있는경우. ( 조건으로는 key , id가 있다. ) $w.data.get("JSON",[{ key : "dl", id : "dataLMap1" }]); //return 예시) {"dl" : {"name":"WebSquare" , "addr":"서울시"} } //혼용해서 쓴 경우. $w.data.get("JSON",["dataMap1",{ key : "dl", id : "dataLMap1" }]); //returnOptions 적용 예시 //꺼내 올 DataCollection의 객체가 1개이고 singleMode(최상위 객체 또는 XML Node를 제거)를 적용하고자 할 때 returnOptions를 이용한다. $w.data.get("JSON",["dataLMap1"],{"singleMode":true}); //return Data 예시 ) {"name":"WebSquare" , "addr":"서울시"}
getAllDataCollection( type )
한 화면 내에 있는 모든 DataCollection 정보를 반환. IFrame이나 Popup과 같은 다른 영역에 있는 DataCollection은 제외.
Parameter
nametyperequireddescription
typestringN반환할 DataCollection 정보 타입을 지정. (ID 혹은 객체 자체)
Return
typedescription
ArrayDataCollection의 ID를 담은 배열. type이 "object"인 경우 DataCollection 객체 자체를 담은 배열.
Sample
var ret = $w.data.getAllDataCollection(); // ret == ["dataList1", "dataList2"]; var ret = $w.data.getAllDataCollection("object"); // ret == [dataList1, dataList2];
getInfo( idArray )
DataCollection의 상세 정보(xml에서 입력한 attribute 값)를 조회하는 함수
Parameter
nametyperequireddescription
idArrayArrayN각 DataCollection(DataMap/DataList) ID를 담고 있는 Array. 값을 지정하지 않을 경우 모든 dataCollection이 대상이 된다.
Return
typedescription
JSON각 dataCollection의 하위 attribute값을 json형태로 표현한 json객체
Sample
$w.data.getInfo(); // 모든 dataCollection의 상세정보 조회 $w.data.getInfo(["dataList1","dataMap1"]); // dataList1, dataMap1에 대한 상세정보 조회
getOption( propertyName )
dataCollection객체의 속성값을 꺼내온다.
Parameter
nametyperequireddescription
propertyNameStringYDataCollection의 속성.
Return
typedescription
StringdataCollection 속성의 value를 반환한다.
Sample
//dataCollection의 모양이 아래와 같을 경우 <w2:dataCollection> <w2:dataMap id="dataMap1" style="" valueAttribute="value"> <w2:keyInfo> <w2:key id="name" name="이름" dataType="text"/> <w2:key id="addr" name="주소" dataType="text"/> </w2:keyInfo> </w2:dataMap> </w2:dataCollection> $w.data.dataList1.getOption( "valueAttribute" ); //return 예시 ) "value"
remove( dataCollectionID )
dataList, dataMap, linkedDataList를 삭제하는 함수. dataList가 remove API를 통해 삭제되면 해당 dataList를 bind하고 있는 linkedDataList도 함께 삭제된다.
Parameter
nametyperequireddescription
dataCollectionIDStringYdataCollection의 ID.
Sample
$w.data.remove("dataMap1");
set( dataType , dataObject , idArray )
생성 되어 있는 여러개의 dataList와 dataMap의 값을 한번에 설정한다.
linkedDataList는 미지원한다. ( linkedDataList는 bind로 참조하고 있는 dataList에 셋팅해야 한다. )
Parameter
nametyperequireddescription
dataTypeStringY데이터의 타입으로 XML, ARRAY, JSON이 있다.
dataObjectJSON||XML||ARRAYYsetting 할 데이터 객체.
idArrayArrayN각 DataCollection(DataMap/DataList) ID 또는 셋팅 조건을 가진 JSON 객체을 담고 있는 Array. 값을 지정하지 않을 경우 dataObject에 정의 된 key를 참조하여 데이터가 셋팅 된다.
Sample
//dataCollection의 모양이 아래와 같을 경우 <w2:dataCollection> <w2:dataMap id="dataMap1" style="" valueAttribute=""> <w2:keyInfo> <w2:key id="name" name="이름" dataType="text"/> <w2:key id="addr" name="주소" dataType="text"/> </w2:keyInfo> </w2:dataMap> </w2:dataCollection> //JSON Type var tmpJSON = {"name":"WebSquare","addr":"서울시"}; $w.data.set("JSON" , {"dataMap1": tmpJSON } , ["dataMap1"] ); $w.data.set("JSON" , {"dataMap1" : tmpJSON } ); //XML Type var tmpXML = WebSquare.xml.parse( '<map><map id="dataMap1"><name>WebSquare</name><addr>서울시</addr></map></map>' ); //XML 객체 생성 $w.data.set("XML" , tmpXML , ["dataMap1"] ); $w.data.set("XML" , tmpXML ); //ARRAY Type var tmpArray = ["WebSquare","제주도"]; $w.data.set("ARRAY" , {"dataMap1":tmpArr} , ["dataMap1"]); $w.data.set("ARRAY" , {"dataMap1":tmpArr} );
setOption( propertyName , propertyValue )
dataCollection객체의 속성을 설정한다. ( 사용자의 임의 속성 및 ID는 적용 안됨 )
Parameter
nametyperequireddescription
propertyNameStringY셋팅 할 속성명.
propertyValueStringY속성에 셋팅 할 값.
Sample
//만약 propertyName이 엔진에서 지정 한 속성이 아닐 경우 적용되지 않는다.(id 와 사용자의 임의 속성은 적용 안됨) $w.data.dataList1.setOption( "valueAttribute" , "value" );