[  ◎ dataset에 자료 조회 시 주의 사항 ]   

  

☞   

 


* 자료 조회 후 주의 사항
  1. 조회할 때 Ds 순서
     var strOutputDs = "dsAAAA=ds_ouput0 dsBBBB=ds_ouput1 dsCCC=ds_output2";

  2. 자료 조회
     gfn_transaction();

  3. gfn_callback()에서 이슈 (3개의 ds에는 자료가 존재 한다는 조건하에서)
     1. 상황
        a. 조회할때 ds 순서에 주의 해야 된다.
        b. 자료가 조회 된 후 각 ds는  rowchanged() event가 발생한다.
        c. 이때 dsAAAA의 rowchanged() event가 발생 할때  dsBBBB는 아직 자료가 setting이 안될 수 있다.
        d. 그래서, 분명히 자료는 db에서 가져 왔는데  dsBBBB는 자료가 없다고 나온다.
        e. dsAAAA의 rowchanged() event에서  dsBBBB의 값이 존재 하는지 묻거나, 가져다 사용할려고 할때 없다고 나온다.

       2. 이유
            a. 분명히 3개의 서버에서 3개의 ds에서 자료를 적용하려고 select했고
                server단에서 client단으로 자료는 넘겼다.
            b. 그리고, client단에서 자료를 받을때
            c. 맨 먼저 strOutputDs 에 적용된 순서대로 자료는 ds에 setting 되게 된다.
            d. 그래서, dsAAAA 에 자료를 맨 먼저 setting하게 되는데
                이때 rowchanged() event가 발생하게 된다.
                문제는 이때 dsBBBB에 자료는 아직 server에서 가져온 자료가 넣기 전이다.
            e. 그래서 dsAAAA의 rowchanged() event가 발생 할 때              
               dsBBBB의 값을 참조하려고 하면 값이 없다고 나온다.

     3. 해결방법
        a. 조회 전 dsBBBB는 먼저 조회할 수 있도록 앞쪽에 위치 시킨다.
        b. var strOutputDs = "dsBBBB=ds_ouput0 dsAAAA=ds_ouput1 dsCCC=ds_output2";
        c. 위 와 같이 할 경우 dsBBBB자료를 먼저 setting후 dsAAAA의 자료를 setting한다.
        d. 그래서 dsAAAA의 rowchanged() event가 발생할 때 이미 dsBBBB의 자료는 존재 하게 된다.
 

☞  

 

  

'Nexacro-Dataset > Event' 카테고리의 다른 글

Nexacro Dataset - event 추가 및 삭제  (0) 2017.01.22
Nexacro Dataset - canrowposchange() Event  (0) 2017.01.22
Posted by 농부지기
,

◎ dataset.event 추가 및 삭제   ]

 


// 1. event 를 script에서 추가하기
    grdName.onheadclick.setHandler(
event_onheadlclick);

    
function event_onheadlclick(obj:Grid, e:GridClickEventInfo)
    {

            script 기술

    }

 

   // 2. evetn를 script에서 삭제 하기
   grdName.onheadclick.removeHandler(grdName.onheadclick.event_onheadlclick);
 

Posted by 농부지기
,

◎ dataset.canrowposchange() Event ]

 


function
dsname_canrowposchange(obj:Dataset, e:DSRowPosChangeEventInfo)
{
    
if (row를 변경할지? 말지? 판단 비교문){
        
//return true를 하면사용자가 클릭 한 row로 변경 됨
        
return true;
    }
else{
        //r
eturn false를 하면 row변경이 안되고 이전row로 이동 됨
        
return false;
    }
}


Posted by 농부지기
,