Today I Learned

kendogrid-isNew()

메밀국수가생각나 2021. 12. 9. 17:26

오늘은 테이블에 행을 추가 하는 것이 아니라면 아이디를 수정하지 못하게 막는 기능을 찾아봤습니다. 

일반적으로 특정 속성을 편집하지 못하게 막는 것은 간단하게 할 수 있지만 특정 상태에서는 가능하게 특정 상태에서는 불가능하게 하는 것은 조금 복잡한 문제였습니다. 인터넷을 잘 찾아보니 isNew()라는 함수가 눈에 띄었습니다. isNew는 테이블의 행의 상태가 create인지 edit인지 구별할 수 있는 기능을 제공합니다. 따라서 해당 함수를 사용해서 평소에는 ID 값을 편집하지 못하게 막고 행을 추가할 때만 아이디 값을 수정할 수 있게끔 했습니다.

 

isNew를 사용한 코드

edit function (e) { 
            console.log(EDIT, e.model, e.model.isNew(), e.model.id, e.model._defaultId);
            if (!e.model.isNew()) {
                if (e.container.find("input").attr("name") == "GROUPID") {
                    this.closeCell();
                }
          
        }