본문 바로가기
개발툴/MiPlatform

[Miplatform] 행 추가 시 특정 셀 속성값 바꾸기

by 펜네임 2020. 6. 16.

 

데이터셋에 행(row)을 추가할 때 특정 셀의 속성값을 조건에 따라 세팅하는 방법 두 가지를 소개한다.

 

 1. decode() 사용 

을 하나 만들고 원하는 셀에 decode를 걸어준다.

SetCellProp의 두번째 파라미터가 셀의 인덱스다.

 

function addRow() {

	// 데이터셋에 행 추가
	dsApple.AddRow();
    
	// 신규 추가된 행의 특정 셀에만 팝업 버튼 표시
	var strExpr = "expr:decode(rowtype, 'insert', 'True', 'False')";
	grdApple.SetCellProp("Body", 2, "ExpandShow", strExpr);
    
}

 

(+추가+) decode()는 위처럼 코드로 적어줘도 되지만 Design탭에서 해당 컬럼의 ExpandShow (E)를 마우스 우클릭으로 더블클릭하여 내용을 수정해 쓸 수도 있다.

 

 2. 데이터셋 이벤트 사용 

행을 추가할 데이터셋의 이벤트를 이용한다.

먼저 데이터셋 탭에서 OnRowPosChanged 이벤트를 생성한다.

이벤트명을 적고 엔터를 쳐도 되고, 해당 컬럼 옆의 빈 칸을 더블클릭하면 자동생성된다.

 

 

함수의 내용은 아래와 같다.

 

function insertOrNot(obj,nOldRow,nRow) {
	
	// 해당 Row의 Type이 INSERT일 경우 팝업버튼 표시
	if (ToUpper(obj.GetRowType(nRow)) == "INSERT") {
		grdApple.SetCellProp("body", 1, "ExpandShow", "True");
		
	// 해당 Row의 Type이 INSERT가 아닐 경우 팝업버튼 비표시
	} else {
		grdApple.SetCellProp("body", 2, "ExpandShow", "False");
	}
    
}

 

 

1, 2번 방법 중에는 1번 방법이 코드도 짧고 행 추가 시에만 발동하기 때문에 더 좋다고 판단된다.

 

댓글