====== 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); } }