2016-11-02 9 views
0

여러 목록과 Webix 데이터 테이블이 있습니다. 사용 사례에 따르면 데이터 테이블은 목록에서 항목을받을 수 있어야하지만 해당 항목을 이러한 목록으로 삭제할 수는 없습니다. 특정 뷰에서 떨어지는 것을 방지 할 수있는 방법이 있나요특정보기에서 항목을 삭제하는 것을 방지하려면 어떻게해야합니까?

{ 
    view:"datatable", 
    columns:[ 
    { id:"id" }, 
    { id:"value", width:200 }, 
    { id:"summary", fillspace:true }, 
    { 
     id: "delete", header:" ", 
     template: "<icon class='webix_button webix_icon fa-trash delete'></icon>"   
    } 
    ],  
    drag:true, // not enough 
    data:initialData, 
    onClick:{ 
    delete: function(ev, id){ 
     this.remove(id); 
    } 
    } 
}, 

Code snippet

?? :

지금 들어, 데이터 테이블 구성은 같다 TIA

답변

0

당신은 당신의 요구 사항에 따라 onBeforeDrag/드롭 또는 onAfterDrag/드롭에 맞게 사용자 정의 함수를 작성하여 나 특정의 낙하를 제한 할 수 있습니다. 여기 내가보기 ID가 다음 드롭 인해 귀하의 케이스를 들어

on:{ 
    onBeforeDrop : function(context, ev){ 
        if($$("myDragView").getChildViews()[1].config.id == "d2") 
        { 
         return false;  //denies dropping if id == d2 
        } 
        return true;   
     } 
} 

거짓 돌아갑니다되지 않습니다 D2 경우 테스트입니다 작은 예, 난 따라서 목록 사이에 드롭을 방지 한 , 데이터 테이블에만 놓을 수 있습니다. 스 니펫 here을 확인하십시오.

참고 :getChildViews()가 호출 구성 요소의 모든 아이들의 배열 (0부터 시작하는 인덱스)를 반환합니다.

관련 문제