2010-12-18 4 views
0

jqGrid를 사용하여 테이블에서 만들었습니다. 그 안에 나는 comboBox 있습니다. 나는 그것이 이전 행에서 사용되지 않도록 콤보 박스의 값을 원한다.jqGrid의 특정 행 드롭 다운 값 변경

그러나 첫 번째 행이 표시되면 두 번째 행의 comboBoc 값을 변경할 수 없습니다.

예 : 내 콤보 박스에는 세 가지 값이 있습니다. one, two, three. 첫 번째 행에서 값 "2"를 선택했습니다. 그런 다음 두 번째 콤보 상자의 값은 onethree이어야합니다.

나는 다음과 같은 코드를 시도 : 여기

$("#listData").setColProp('denomination', 
    {editoptions:{value:getDenominationList('addOperation').toString()}}); 

..
getDenominationList('addOperation')는 문자열 "1:one;3:three"

에게 반환됩니다하지만이 작동하지 않습니다.
나에게 몇 가지 아이디어를 주시길 바랍니다.
고맙습니다.

답변

0

나는 귀하의 질문에 대한 올바른 이해를하고 editoptionsvalue 매개 변수를 변경할 때마다 현재 행 ID 나 다른 그리드에 따라 달라집니다. 당신은 (editoptions 참조) 사용자 정의 dataInit 이벤트 핸들러 내에서이 작업을 수행 할 수 있습니다

dataInit: function (elem) { 
    var v = $(elem).val(); 
    var rowId = $(e.target).closest('tr.jqgrow').attr('id'); 
    var newValue = getDenominationList('addOperation').toString(); 
    $("#listData").setColProp('denomination', { editoptions: { value:newValue} }); 
} 

귀하의 질문에 사용되는 기능 getDenominationList은하지 않습니다 당신은 아마 필요합니다 rowid 매개 변수가 있습니다. 그것을 간소화하기 위해 행의 id이 어떻게 표시되는지 보여주는 위의 코드에 포함되었습니다.

나는 최근에 대답 한 another answer을 살펴보기를 권합니다. 그것은 value 속성의 초기 값이 의 경우으로 재설정 된 일 수있는 방법을 보여줍니다. form editing을 사용하면 onClose 이벤트 핸들러에서이 작업을 수행해야합니다. 또한 form editing의 경우 dataInit 이벤트 핸들러를 한 번만 호출하지 않고 모든 행 편집에 대해 호출해야하는 recreateForm:true을 사용해야합니다.

+0

안녕하세요 올렉, 확인해 보았습니다. 잘 작동합니다. –

+0

안녕하세요, 실례를 올리시겠습니까? – Anatoliy

+0

미안하지만 현재 출장 중이며 다른 프로젝트에 너무 바쁩니다. 그래서 저는 새로운 예를 준비 할 시간이 없습니다. – Oleg

관련 문제