2014-11-13 6 views
1

상황은 다음과 같습니다. 그리드에 행을 만듭니다. 나는 '부서'라는 하나의 콤보와 '이름'이라는 하나의 필드가있는 여러 속성을 가지고 있습니다. 비즈니스 규칙은 '부서'의 모든 '이름'이 고유해야한다는 것입니다. 그리드가 모든 부서명 조합을로드하지 않기 때문에 백엔드에 전화해야합니다. selectionChanged 또는 checkValue가 발생했을 때 그리드 행을 생성하는 동안 rowedittemplate에서 다른 필드/콤보를 액세스하는 방법은 무엇입니까?

  1. 는 '부서'콤보에 인 selectionchanged 때 발생이 호출을 만들고 싶어 또는 '이름'의 유효성 검사기 옵션의 'checkValue'이 제기
  2. 발생합니다.

이렇게하면 변경됩니다. 문제는이 작업이 생성 중에 발생하며 데이터 소스에 행이없고 트랜잭션 로그에 누적 된 행이 없다는 것입니다.

내 값을 확인하기 위해 이러한 특정 이벤트 중에 생성하는 동안 'rowEditTemplate'필드에 액세스하려면 어떻게해야합니까? 이것을 달성하는 다른/더 좋은 방법이 있습니까?

답변

3

편집자는 첫 번째 편집을 수행 할 때까지는 생성되지 않습니다. editRowStarted 이벤트를 사용하여 편집기 논리를 첨부 할 수 있습니다. 이들은 editorForKey 메소드를 사용하여 얻을 수 있습니다.

editRowStarted: function (evt, ui) { 
    var comboEditor = ui.owner.editorForKey("ProductDescription"); 
} 

나는 editRowStarted에서 콤보에 대한 데이터 소스를 할당하는 작은 피들을 만들었습니다. 그것은 당신이 성취하려는 것을 시작점으로 삼아야합니다.

http://jsfiddle.net/hfen0qea/