넥사크로 expr decode - negsakeulo expr decode

넥사크로 expr decode - negsakeulo expr decode

여기 그리드가 하나 보이는데

나이 30 이상이면 old, 아니면 young으로 표기해야 한다

넥사크로에서는 decode를 지원하지 않기 때문에

삼항연산자를 사용해야 한다

이제 그리드에서 삼항연산자를 사용하는 방법을 알아보자

넥사크로 expr decode - negsakeulo expr decode

먼저 그리드를 클릭해 그리드 에디터로 들어간 후

AGE를 선택하고 텍스트 우측에 보이는

Set Expression을 눌러주자

넥사크로 expr decode - negsakeulo expr decode

삼항연산자는

조건 ? 조건에 맞을 경우 : 아닐 경우

이런 식으로 사용한다

넥사크로 expr decode - negsakeulo expr decode

30이 넘을 경우 old로 표기되고

나머지는 young으로 나오는 것이 보인다

--################################################
-- Tip : 그리드에서 코드/코드명 조회시, 사용되는 이벤트

--################################################
//-----------------------------------------------------------------------------
//  ExpandEdit 이벤트 발생처리
//-----------------------------------------------------------------------------
function GRD_OnExpandEdit(obj,nRow,nCell,strVal)
{
      f_grid_OnExpandEdit(nRow, nCell);
}

//=====================================================================================

//<예제> 그리드에서, 콤보박스Cell 항목의 케이스별, 선택가능한 InnerDataset을 변경하여 출력함 !!!!

//=====================================================================================

function GRD_Normal0_OnExpandEdit(obj,nRow,nCell,strVal)

    if ( nCell == 0 )  //ComboBox
   { 
        var filter="";
        if(ds_grid.GetRowType(nRow)=='insert') {
              filter = "category == '002'";
        }else{
              filter = "category == '001'&&code=='01'";
        }
   

       GRD_Normal0.SetCellProp("body",nCell,"combofilter",filter);
       s_SetPopupDivComboBox(GRD_Normal0, nRow, nCell,"선택");
    }  
}


//-----------------------------------------------------------------------------
//  EnterDown 이벤트 발생처리
//-----------------------------------------------------------------------------
function GRD_OnEnterDown(obj,nRow,nCell,strVal)
{
     f_grid_OnEnterDown(nRow, nCell);
}

function GRD_OnCellClick(obj,nRow,nCell,nX,nY)
{
}

function GRD_OnCellPosChanged(obj,nRow,nCell,nOldRow,nOldCell)
{
     if (nRow != nOldRow)

     {
          f_grid_CellClick(nRow);
     }
}

--#######################################################################
-- MiPlatform 그리드의 여러row에 대해 체크로직 실행시, 메세지출력 후, cell에 포커스주기.
--#######################################################################

function f_GridFocus(objGrid, nrow, ncell, msg)
{
      alert(msg);
      object(objGrid.BindDataset).row = nrow;
      objGrid.SetCellPos(ncell);
      objGrid.SetFocus();

}

--###############################
-- 그리드의 NEXTCELL 이동
--###############################
objGrid.MoveToNextCell();

ds_lCheckList.rowposition = nRow;  //Tip :: 이전로우에 focus 위치시켜줌....!!!

--#######################################################################
-- 그리드의 Cell에 Expr (표현식->출력) 제어하기 !!!!!!!!

--#######################################################################

--  체크박스 선택제외 스크립트
expr:decode(stat,"0","none","checkbox")

-- 기타

expr:Iif(ds_lVendorEtc.GetColumnNF(0, "dirvenYn")=='1' && zdeliveryType=='20', 'btn5_Gcob', '')
expr:Iif(ds_lVendorEtc.GetColumnNF(0, "dirvenYn")=='1' && zdeliveryType=='20', true, false)

ds_CommonCode.GetColumnNF(ds_CommonCode.SearchRowNF("category== '6009' && code == '"+ exLeadTm +"'" ),"decode")


ds_UserCommonCode.GetColumnNF(ds_UserCommonCode.SearchRowNF("type== 'channelCode' && code == '"+ loc +"'" ),"value")

expr:decode(avlBDtInsCd, '03', 'none', 'date')
expr:decode(avlBDtInsCd, '03', '', 'btn5_Gcal')
expr:decode(avlBDtInsCd, '03', 'false', 'true')

expr:decode(insYn,'1',decode(insporgInsCd,'01',"normal",'02',"normal",'03',"none"),"normal")
expr:decode(insYn,'1',decode(certFieldInsCd,'01',"normal",'02',"normal",'03',"none"),"normal")

expr:iif( ( fa_DelivCls=='40' && !(length(zcourierConNo)>0  && fa_Delicomp ==  zcourier) ),  'none', 'checkbox')

Display-->expr:iif(currow=0,'checkbox',iif(column1 != Dataset0.getColumn(currow-1,"column1"),'checkbox','null'))
Edit   -->expr:iif(currow=0,'checkbox',iif(column1 != Dataset0.getColumn(currow-1,"column1"),'checkbox',''))

Suppress -> 셀머지

--Grid Sub option------------
ComboCol -> code
ComboDataset -> ds_CommonCode
ComboText -> decode

Display -> combo
Edit(e) -> button
ExpandImage(e) -> btn5_Gcob
ExpandShow(e) -> true

--===============================
-- 그리드의 특정Cell의 text 얻기
--===============================
"■" != CharAt( grid.GetCellText("Body",nRow,nCell,3), 0 )

--===============================
-- 그리드의 특정Cell의 columId 얻기
--===============================
obj.GetCellProp("Body", nCell, "ColId")

--===============================
-- 그리드에서 라인을 넘어가는 단어가 생기면,
-- 단어(WORD)단위로 다음라인으로 넘어가서 멀티라인 출력되게 하려면..
-- : 1) 그리드의 해당 Cell을 선택한 후, WordWrap = word 선택하고,

-- * 확장되게 하려면(html편집기 처림),
-- ExpandChar(e) : 웹 편집기 사용
-- ExpandShow(E) : expr:iif( pdeftype == "HTML", true, false)
-- Expr : iif( pdeftype == "HTML", '웹 편집기 사용', '텍스트 입력')
--===============================

--===============================
-- UserData : 체크조건 넣기
--===============================
isOrAnd@((EDT_Cd.Text==#KR#) && (length(trim(EDT_BizrNo.Text))==0)),msg,제조국이 한국이면 사업자번호는 @pa_NotNull

--===============================

-- 그리드안에 폰트 및 라인 바꾸기 (밑줄넣기)
--===============================

iif(length(GM_HBUN) > 0, "돋음,9,UnderLine","")


--===============================

-- 더블클릭시, 브라우저 팝업 실행
--===============================

ExecBrowser(dsQuery.GetColumn(nRow,"GM_HBUN"));

//=============================================================================
// 상품별 공급수량 그리드  -> 그리드에서, cell의 innerdataset을 동적으로 변경할 때,
//=============================================================================
function TAB_tab2_GRD_OnExpandEdit(obj,nRow,nCell,strVal)
{
 var filter = "";
    var limitLeadTm = "";

 

if( nCell == 9 || nCell == 10 || nCell == 11 ) {

      switch (nCell)
     {
   case 9 :

    

limitLeadTm = ds_tLTItemBase.GetColumn(nRow,"outwCd");
    filter = "category=='1111' && code <= '" + limit + "'";
    TAB_LT.tab2.GRD_ItemBase.SetCellProp("body",9,"ComboFilter",filter);
    break;

       case 10 :      
    if(length(trim(ds_tLTItemBase.GetColumn(nRow,"exTm"))) == 0) {
     s_GetAlertMsg(ds_tLTItemBase,"info","xx을 먼저 선택하셔야 @common_Info1Info");  
     return false;
    }

        if( ds_tLTItemBase.GetColumn(nRow,"exTm")=="10" ||
        ds_tLTItemBase.GetColumn(nRow,"exTm")=="70" ||
        ds_tLTItemBase.GetColumn(nRow,"exTm")=="80" ) { // 당일입고
     filter = "category=='1111' && code=='10'";
    } else {
     filter = "category=='1111' && code != '10'";
    }

        TAB_LT.tab2.GRD_LTItemBase.SetCellProp("body",10,"ComboFilter",filter);     
    break;

   

case 11 :
    if(length(trim(ds_tLTItemBase.GetColumn(nRow,"exTm"))) == 0) {
     s_GetAlertMsg(ds_tLTSupplyPlanItemBase,"info","xx을 먼저 선택하셔야 @common_Info1Info");  
     return false;
    }

        if( ds_tLTItemBase.GetColumn(nRow,"exTm")=="10" ) { 
     filter = "category=='1112' && code=='10'";
    } else {
     filter = "category=='1112'";
    }
    TAB_LT.tab2.GRD_LTItemBase.SetCellProp("body",11,"ComboFilter",filter);
    break;
  }

       s_SetPopupDivComboBox(TAB_LT.tab2.GRD_LTItemBase, nRow, nCell);

      }     
}