블로그 이미지
JinStudio의 아이디어와 정보를 모아놓는 블로그.
JinStudio

공지사항

최근에 올라온 글

최근에 달린 댓글

글 보관함

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

링크를 따라 가세요.

http://arshaw.com/xdate/

* 조건에 따른 색상 설정.
    초기화 과정에서는 그런 기능은 없습니다. 따라서 조회 XML안에 TR,TD에 속성을 넣으시거나 조회 후 현재와 같이 스크립트를 통해 주는 방법 밖에는 없습니다. 여기서 약간의 팁을 드리자면 보통 이런 작업을 할때는 스크립트와 시트 객체간의 호출이 많아질 수로 속도가 느려지게 됩니다. 따라서 최대한 속도를 빠르게 하기 위해서는 연산이 필요한 부분은 한번에 스크립트로 가져와 연산하고 이후 한꺼번에 반영하는 것이 좋습니다.

간단한 예를 보여드리자면 아래와 같습니다.

속도가 느려지는 작업 예)
for(var i=0;i<mySheet.LastRow;i++){
    if(mySheet.CellValue(i,8)<300){
        mySheet.CellFontColor(i,8) = mySheet.WebColor("#FF0000");
    }
}

속도가 빠른 작업 예)
//8번 컬럼의 전체 데이터를 string 형태로 받는다.
var data = mySheet.GetRangeValue(0,8,mySheet.LastRow,8);


//스크립트 안에서 모두 작업한다.
var dataArr = data.split("^");
var rtnArr = new Array();
for(var i=0;i<dataArr.length;i++){
    if(dataArr[i]<300){
        //300 보다 작은 값은 모두 rtnArr배열에 넣는다.
        rtnArr.push(i);
    }
}


//한번에 시트에 반영하기 위해 받은 내용을 갖고 XML을 만든다.
var xmlstr = "<?xml version='1.0'?><sheet><data>";
for(var i=0;i<rtnArr.length;i++){
    xmlstr += "<TR ROW='"+rtnArr[i]+"' COL='8'><TD COLOR='RED'></TD></TR>";
}
xmlstr += "</data></sheet>";

//만들어진 xml을 한번에 반영한다.
mySheet.LoadSearchXml(xmlstr , false, -1,true);

출처 : http://www.ibleaders.co.kr/

 

iBSheet 에서 Row크기가 커서 스크롤시 부드럽게 안넘어갈 때 팁!

 

기본적으로 Sheet상에서 스크롤시 Row별로 끊겨서 스크롤 되게 되는데 성과평가 작업하면서 KPI조회시 Sheet상에서 Row가 커서 부드럽게 스크롤이 되지 않았다.
그때는 Sheet상의 스크롤바를 없애고 Frame의 스크롤바를 이용하면 된다.

* ShowSubSum Method


특정 컬럼의 데이터를 기준으로 소계와 누계를 계산하여 표시한다.

Syntax

mySheet.ShowSubSum(StdCol, SumCols, [PosBottom], [Sort], [ShowCumulate], [CaptionCol],
[OtherColText], [AvgCols], [IsSumEx])

Parameters

Parameter Type 필수여부 Remark
StdCol Long/String 필수 소계를 계산할 기준 컬럼의 컬럼 Index 또는 SaveName
SumCols String 필수 소계가 계산되어야 할 컬럼 Index를 "|"로 연결한 문자열
PosBottom Integer 선택 소계를 표시할 위치 Default=-1
Sort Boolean 선택 기준 컬럼의 Sort 처리 여부. 소계를 표시 하기 위해 기준 컬럼의 값이 반드시 Sort 되어 있어야 함. Default=false
ShowCumulate Boolean 선택 소계에 대한 누계 표시 여부. Default=false
CaptionCol Long 선택 소계 대표 글자인 "소계 : " + 기준값을 설정할 컬럼. Default=숨겨지지 않은 첫컬럼
OtherColText String 선택 소계 이외의 컬럼에 설정할 글자를 조합한 문자열. Defuault=""
AvgCols String 선택 소계 행에 평균으로 계산되어야 할 컬럼 Index를 "|"로 연결한 문자열. Defuault=""
IsSumEx Boolean 선택 상태가 삭제인 행의 계산 여부, Defuault=false

Return Value

없음

Remarks

이 함수는 소계와 누계를 계산해주는 기능으로 기존의 합계 기능과 달리 함수를 호출하는 순간의 데이터 그대로
소계와 누계가 계산 되므로 트랜잭션으로 소계가 계산되는 데이터가 바뀌더라도 소계 값은 자동으로 다시 계산
되지 않는다. 이 함수를 다시 호출하지 않는 이상 다시 계산되지 않으므로 주의 하여 사용한다.
소계 기능을 이용하여 합계 처럼 자동 계산되는 기능을 사용하고자 한다면 ComputeSum Property를 사용하여
대신할 수 있다. 샘플 예제 메뉴에서 "숫자연산설정 > 소계응용" 예제를 참조한다.

SumCols 인자는 소계와 누계가 계산 되어야 할 컬럼의 Index를 "|"로 연결한 문자열로 해당하는 컬럼에 소계와
누계가 계산되어 표시된다.

PosBottom 인자는 생성된 소계를 표시할 위치로서 값에 따라서 다음과 같이 표시된다.

PosBottom값 표시 위치
-1 기준 데이터 행의 하단 (기존의 true)
0 기준 데이터 행의 상단(기존의 false)
1 최상단, 해더 바로 아래
2 최하단, 합계 바로 위


ShowCumulate를 true로 설정하면 소계를 표시하고 그 아랫줄에 해당하는 소계의 누계가 계산되어 표시되고,
false로 설정하면 소계만 계산하여 표시된다. 누계 기능은 다음과 같이 계산된다. 첫번째 누계는 첫번째 소계와
동일하며, 두번째 누계는 첫번째 소계와 두번째 소계를 합한 것이고, 마지막 누계는 이전 소계들을 모두 합한
것이다. 누계 기능은 소계가 계산될 때만 표시 되는 기능으로 처리된다.


OtherColText 인자는 SumCols인자가 소계를 계산할 컬럼이라면 이 인자는 소계를 표시할 컬럼 이외의 컬럼에
원하는 글자를 설정하는 인자인다. 기본 구성은 "컬럼번호=설정할글자"로 하고, 컬럼이 여러개 인 경우 ";"로
연결하여 설정한다. 설정할글자에 "%s"를 설정하면 해당하는 데이터의 기준 행에 해당 컬럼 글자를 그대로
설정한다. 예를 들어 아래와 같이 설정하면 3컬럼과 5컬럼은 기준 행 글자를 그대로 설정하고, 6컬럼은 "소계"
라는 글자를 설정한다.

"3=%s;5=%s;6=소계"
"stockCd=%s;stockNm=%s;sTitle=소계"

2.0.0.1 버전 이후에는 %s로 설정 한 경우 기준 행의 글자와 함께 글자색도 그대로 설정한다. 또한 계산식을
설정할수 있다. 예를 들어 아래와 같이 소계행의 7컬럼의 값은 같은 소계행의 2 컬럼과 4컬럼을 합한 값에
7컬럼의 기준행의 값을 곱한 값으로 설정된다.

"3=%s;5=%s;6=소계;7=(|2| + |4|) * %s"
"stockCd=%s;stockNm=%s;sTitle=소계;price=(|amt1| + |amt2|) * %s"


AvgCols 인자는 평균으로 계산 되어야 할 컬럼의 Index를 "|"로 연결한 문자열로 해당하는 컬럼에 평균이
계산되어 표시된다. 누계가 계산될 시 평균은 누계에서 제외되어 계산된다.


소계를 표시하는 행은 첫번째 컬럼에
"소계 : "+기준값으로 표시되고, 누계를 표시하는 행은 "누계 : "+기준값 으로 표시된다.
이때 대표 글자를 변경하는 것은 MessageText Property를 이용하여 설정한다.

mySheet.MessageText("SubSum") = "소계";
mySheet.MessageText("Cumulate") = "누계";

IsSumEx 인자는 DataType이 dtAutoSumEx와 마찬가지로 트랜잭션 상태가 삭제이거나 RowSumable=false인
행은 소계 계산에서 제외할지 여부를 설정한다. 이 인자가 false이면 모든 데이터 행을 소계 계산에 포함하고,
인자가 true이면 트랜잭션 상태가 삭제이거나 RowSumable=false인 행은 소계 계산에서 제외한다.

이 속성의 기본 값은 false이다.
 

Example







 

최근들어 많이 참고하게 되는데 정말 유용함!! ㅎㅎ


 

이전 1 다음