사용자 도구

사이트 도구


white:ibsheet

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
white:ibsheet [2021/10/01 14:20] – 바깥 편집 127.0.0.1white:ibsheet [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +====== IBSheet ======
 +{{ :white:ibsheet_devguide_v7.0.13.x.chm | IBSheet 개발자가이드 v7.0.13 }}
 +[[white:ibsheet:speed|IBSheet성능항상]]
 +===== 주요함수 =====
 +==== 선택된 행 / 행선택하기 ====
 +<code javascript>
 +var selectedRow = mySheet1.GetSelectRow();
 +mySheet1.SetSelectRow(targetRow);
 +</code>
 +==== 모든행 / 특정행 지우기 ====
 +<code javascript>
 +mySheet1.RemoveAll(); // 모든 행
 +mySheet1.RowDelete([row],[confirm]) // 특정행
 +</code>
 +==== 상태값으로 행번호 얻기 ====
 +<code javascript>
 +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 함수처리
 +</code>
 +==== 컬럼들의 너비 비율을 유지하며 전체적으로 너비 재조정하기 ====
 +<code javascript>
 +mySheet1.FitColWidth();
 +mySheet1.FitColWidth(“10|20|40|30”); // % 단위로 재설정하기
 +</code>
  
 +==== 상태값으로 선택하기 ====
 +<code javascript>
 +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
 + });
 +</code>
 +  * **FindCheckedRow**는 CheckBox의 값으로 찾음
 +  * **FindText**는 값으로 찾음
 +==== OnChange Event ====
 +<code javascript>
 +function mySheet1_OnChange(Row, Col, Value, OldValue, RaiseFlag) {
 + console.log('onChange Event:', Row, Col, Value, OldValue, RaiseFlag)
 + }
 +</code>
 +**RaiseFlag( 이벤트소스 )**
 +  * 0 : 사용자입력
 +  * 1 : 메소드에
 +  * 2 : Paste( Ctrl+v 붙여넣기 )
 +==== OnChange 충돌 ====
 +<code javascript>
 + 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);
 + }
 + }
 + }
 +</code>
 +==== Dynamic SQL처리 ====
 + 커멘드클래스명 - **//h5.biz.command.dynamic.CommDynamicRetrieveCommand//**
 + === Dynamic SQL 문장생성 SQL ===
 +Dynamic SQL을 생성을 위한 SQL문장 -> 커멘드 클래스에서 첫번째 컬럼참조
 + <code 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
 +</code>
 +
 +==== IBSheet DataRow 반복 =====
 +<code javascript>
 + 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);
 + }
 + }
 +</code>