====== IBSheet ======
{{ :white:ibsheet_devguide_v7.0.13.x.chm | IBSheet 개발자가이드 v7.0.13 }}
[[white:ibsheet:speed|IBSheet성능항상]]
===== 주요함수 =====
==== 선택된 행 / 행선택하기 ====
var selectedRow = mySheet1.GetSelectRow();
mySheet1.SetSelectRow(targetRow);
==== 모든행 / 특정행 지우기 ====
mySheet1.RemoveAll(); // 모든 행
mySheet1.RowDelete([row],[confirm]) // 특정행
==== 상태값으로 행번호 얻기 ====
var sRow = mySheet1.FindStatusRow(“U|D”); //인자->U|D, [수정/삭제] <- R|I|U|D, 결과->1;3;4;5;6
var arrow = sRow.split(“;”); // 배열로 변환
arrow.map(function(row){}); // 배열에 대한 map 함수처리
==== 컬럼들의 너비 비율을 유지하며 전체적으로 너비 재조정하기 ====
mySheet1.FitColWidth();
mySheet1.FitColWidth(“10|20|40|30”); // % 단위로 재설정하기
==== 상태값으로 선택하기 ====
var pay_ymd_ids = new Map(); // 중복되는 값을 제거 하기위해서 Map()을 사용
mySheet1.FindStatusRow('I|U|D').split(';').map(function(row){
pay_ymd_ids.set(mySheet1.GetCellValue(row, 'pay_ymd_id'),'asdf'); // key, value
});
* **FindCheckedRow**는 CheckBox의 값으로 찾음
* **FindText**는 값으로 찾음
==== OnChange Event ====
function mySheet1_OnChange(Row, Col, Value, OldValue, RaiseFlag) {
console.log('onChange Event:', Row, Col, Value, OldValue, RaiseFlag)
}
**RaiseFlag( 이벤트소스 )**
* 0 : 사용자입력
* 1 : 메소드에
* 2 : Paste( Ctrl+v 붙여넣기 )
==== OnChange 충돌 ====
var originOnClick
if( typeof list1_OnClick == 'function'){
originOnClick = list1_OnClick;
}
list1_OnClick = function(Row, Col, Value, CellX, CellY, CellW, CellH) {
if( originOnClick ){
originOnClick(Row, Col, Value, CellX, CellY, CellW, CellH)
}
var headers = list1.HeaderRows();
if(Row < headers) return;
if( list1.ColSaveName(Col) == "emp_nm" ){
if(list1.GetCellEditable(Row, Col) == true) {
dayEmpSearch({type:3}, "sheet_click", "list1", list1.ColSaveName(Col), sheetBindingCols, daySearchEnd);
}
}
}
==== Dynamic SQL처리 ====
커멘드클래스명 - **//h5.biz.command.dynamic.CommDynamicRetrieveCommand//**
=== Dynamic SQL 문장생성 SQL ===
Dynamic SQL을 생성을 위한 SQL문장 -> 커멘드 클래스에서 첫번째 컬럼참조
SELECT 'DBO.XF_NVL_N(SUM(CASE WHEN PAY_ITEM_CD = '''+ PAY_ITEM_CD +''' THEN CAM_AMT END),0) ' +
' AS col' + CAST( ROW_NUMBER() OVER( ORDER BY PRINT_ORD_NO ) AS NVARCHAR ) AS SQL_COL
==== IBSheet DataRow 반복 =====
var sr = list1.GetDataFirstRow(),lr = list1.GetDataLastRow();
for(var i=sr;i<=lr;i++){
if( list1.GetCellValue( i , "pay_ymd" ) > ""){
list1.SetCellEditable(i, "pay_ymd", true);
} else {
list1.SetCellEditable(i, "pay_ymd", false);
}
}