반응형
nexacro component 동적 생성하기
//dynamic create
var objStatic = new Static("Static01", 10, 100, 100, 50);
//objStatic.set_cssclass("sta_WFDA_Data");
objStatic.set_border("1px solid red");
objStatic.set_text("Static01");
this.addChild("Static01", objStatic);
objStatic.show();
<?xml version="1.0" encoding="utf-8"?>
<FDL version="2.0">
<TypeDefinition url="..\default_typedef.xml"/>
<Form id="form" left="0" top="0" width="1024" height="768" titletext="동적생성 Comp">
<Layouts>
<Layout>
<Button id="Button00" taborder="0" text="생성" left="10" top="10" height="41" onclick="Button00_onclick" width="146"/>
<Button id="Button01" taborder="1" text="ds_master" left="210" top="12" width="118" height="39" onclick="Button01_onclick"/>
</Layout>
</Layouts>
<Objects>
<Dataset id="ds_master">
<ColumnInfo>
<Column id="col1" type="STRING" size="256"/>
<Column id="col2" type="STRING" size="256"/>
<Column id="col3" type="STRING" size="256"/>
</ColumnInfo>
<Rows>
<Row/>
</Rows>
</Dataset>
</Objects>
</Form>
</FDL>
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
var rtnObj;
//delete comp
for(var i=this.components.length-1; i>=0; i--){
if( this.components[i].name != "Button00" && this.components[i].name != "Button01"){
rtnObj = this.removeChild(this.components[i].name);
rtnObj.destroy();
}
}
//dynamic create
var objStatic = new Static("Static01", 10, 100, 100, 50);
//objStatic.set_cssclass("sta_WFDA_Data");
objStatic.set_border("1px solid red");
objStatic.set_text("Static01");
this.addChild("Static01", objStatic);
objStatic.show();
objStatic = new Static("stc_MY", 120, 100, 100, 50);
//objStatic.set_cssclass("sta_WFDA_Label");
objStatic.set_border("1px solid red");
objStatic.set_text("MY");
this.addChild("stc_MY", objStatic);
objStatic.show();
objStatic = new Static("stc_Project", 230, 100, 100, 50);
//objStatic.set_cssclass("sta_WFDA_Label");
objStatic.set_border("1px solid red");
objStatic.set_text("Project");
this.addChild("stc_Project", objStatic);
objStatic.show();
var objEdit = new Edit("edt_smplStage", 10, 200, 100, 50);
objEdit.set_imemode("hangul");
this.addChild("edt_smplStage", objEdit);
objEdit.show();
objEdit = new Edit("edt_Project", 120, 200, 100, 50);
objEdit.set_imemode("hangul");
this.addChild("edt_Project", objEdit);
objEdit.show();
objEdit = new Edit("edt_MY", 230, 200, 100, 50);
objEdit.set_imemode("hangul");
this.addChild("edt_MY", objEdit);
objEdit.show();
//delete binditem
for(var i=this.binds.length-1; i>=0 ; i--)
{
rtnobj = this.removeChild(this.binds[i].name);
rtnobj.destroy();
}
//bind
var objBindItem = new BindItem();
objBindItem.init("item11", "edt_smplStage", "value", "ds_master", "col1");
this.addChild("item11", objBindItem);
objBindItem.bind();
objBindItem = new BindItem();
objBindItem.init("item12", "edt_Project", "value", "ds_master", "col2");
this.addChild("item12", objBindItem);
objBindItem.bind();
objBindItem = new BindItem();
objBindItem.init("item13", "edt_MY", "value", "ds_master", "col3");
this.addChild("item13", objBindItem);
objBindItem.bind();
}
this.Button01_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
alert(this.ds_master.saveXML());
};
반응형
'IT > nexacro' 카테고리의 다른 글
nexacro 기본세팅 및 엑스플랫폼 차이 (0) | 2022.07.19 |
---|---|
기초 문법(NEXACRO 17.1 기준) (0) | 2022.03.21 |
nexacro 그리드 셀에 내용이 길면 툴팁 보이기 (0) | 2021.02.05 |
nexacro 대소문자 구분없이 필터하기 (0) | 2021.02.04 |
nexacro 다건 선택할 수 있는 콤보 (0) | 2021.02.04 |
댓글