본문 바로가기
프로그래밍/Nexacro 17

2022년 2월 12일 - Dataset 레코드타입, 데이터전체복사, 선택복사 (1)

by 철제백조 2022. 2. 12.

http://demo.nexacro.com/EduPlay/_web_/index.html?version= 

 

http://demo.nexacro.com/EduPlay/_web_/index.html?version=

 

demo.nexacro.com

 

 

 

//currow는 현재 행의 번호
//최상위에 새로운 row 삽입하고 상태값 확인
this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{

	//Row 삽입하기
	//Dataset.insertRow(nRow)
	var nRow = this.Dataset00.insertRow(0);
	
	//RowType 구하기
	//Dataset.getRowType(nRow)
	var nType = this.Dataset00.getRowType(nRow);
	
	var sText = "Insert RowType : " + nType;
	this.TextArea00.set_value(sText);
	
};



//두번째 Row의 성명 컬럼을 "Nexacro"로 변경하고 레코드 상태값 확인
this.Button02_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	//컬럼값 변경하기 - setColumn
	//(바꿀 열번호, 바꿀 컬럼,바꿀 내용) - 큰것부터 작은것 순으로
	this.Dataset00.setColumn(1, "FULL_NAME", "Nexacro");
	
	var nType = this.Dataset00.getRowType(1);
	
	var sText = "Update RowType: " + nType;
	
	this.TextArea00.set_value(sText);
};



//변경되기 전과 후의 성명 데이터 확인
this.Button04_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	//변경후 현재값 구하기(열순서, 구하고자 하는 컬럼)
	var sCurData = this.Dataset00.getColumn(1, "FULL_NAME");
	
	//초기값 : getOrgColumn
	var sOrgData = this.Dataset00.getOrgColumn(1, "FULL_NAME");
	
	var sText = "Cur Data : " + sCurData;
		sText += "\nOrg Data : " + sOrgData;
		
	this.TextArea00.set_value(sText);
};


//Row Index가 3,4,5인 레코드를 멀티 삭제
this.Button05_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	//삭제할 열을 배열로 만듦
	var arrRow = [3,4,5];
	
	//deleteMultiRows : 여러 행 삭제
	this.Dataset00.deleteMultiRows(arrRow);
	
};


//삭제한 레코드의 개수와 삭제한 데이터의 성명 구하기
//삭제한 레코드를 배열로 반환받기
this.Button03_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
		//삭제된 row 개수 구하기
		//getDeletedRowCount
		
		var nDelCnt = this.Dataset00.getDeletedRowCount();
		
		var sText = "delete Row : " + nDelCnt;
		
		//삭제된 개수만큼 이름 데이터 얻어오기
		for(i=0; i<nDelCnt; i++){
			
			//삭제된 Row의 컬럼값(이름명) 구하기
			//남은 차트가 아닌 삭제된 데이터 한정으로 구성된 getDeletedRowCount에서 순회함
			var sDelData = this.Dataset00.getDeletedColumn(i,"FULL_NAME");
			
			//Rowset
			var arrDel = this.Dataset00.getDeletedRowset();
			
			//sText += "\n" + sDelData;	
			
			sText += "\n" + arrDel[i];
		}
		
		this.TextArea00.set_value(sText);
		
};


//데이터 변경 여부 체크
this.Button01_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{		

		//함수를 만들어 확인하기() - 파라미터로 데이터셋 넘겨주기
		var rtn = this.fn_dataCheck(this.Dataset00);
		
		this.alert(rtn);
};


this.fn_dataCheck = function(objDs)
{	

	//변경식 존재할 경우
	if(objDs.getDeletedRowCount() > 0){
		return true;
	}
	
	//변경식 없을 경우
	for(i=0; i<objDs.rowcount; i++)
	{
		var nRowType = objDs.getRowType(i);
		if(nRowType==2 || nRowType==4){
			return true;
		}
	}
	
	return false; 
};

댓글