사용자 도구

사이트 도구


white:ibsheet

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);
							}
						}
white/ibsheet.txt · 마지막으로 수정됨: 2025/04/15 10:05 저자 127.0.0.1