2011-09-24 2 views
1

바보 같은 질문이지만 솔루션을 찾을 수 없습니다. jqGrid를 사용하여 테이블을 만들고 인라인 편집을 활성화했습니다. 각 줄에 편집을 활성화하거나 비활성화하는 버튼을 추가했습니다. 편집 중에 만 활성화 된 두 번째 버튼을 추가하여 활성 인라인 편집 행의 다양한 필드. 편집하는 동안 데이터 행에 액세스하고 변경하는 방법을 모르겠습니다. 행 i를 선택했으나 인라인 편집 모드가 아닌 경우 setRowData가 제대로 작동합니다. 누구든지 의견을 보내 주셔서 감사합니다.jqGrid가 셀 데이터를 인라인 편집 중에 활성으로 설정했습니다.

업데이트 나는 (나쁜 나는 생각한다) 솔루션을 찾았지만 내 문제를 설명했다 :

if (edit_enabled) { 
    // save current data 
    jQuery('#SEQtbl').jqGrid('saveRow',row_edit, false, 'clientArray'); 

    // read back row data 
    var row = jQuery("#SEQtbl").jqGrid('getRowData',row_edit); 

    // change something 
    .... 
    ..... 

    // save data 
    jQuery("#SEQtbl").jqGrid('setRowData',row_edit, row); 

    // reneter row edit mode 
    jQuery('#SEQtbl').jqGrid('editRow', row_edit,true); 
    } 

`

답변

0

난 당신이 이미 게시 된 코드에서 답을 가지고 생각합니다.

setRowData의 jqGrid documentation에 따르면 "행이나 셀을 편집 할 때이 메서드를 사용하지 마십시오. 그러면 내용이 설정되고 입력 요소를 덮어 씁니다". 기본적으로 setRowData 또는 getRowData를 편집 모드의 행에 호출하면 데이터가 아닌 행의 HTML을 가져 오거나 설정합니다.

요구 사항이 무엇인지 잘 모르겠지만 사용 설정/해제 버튼과 동시에 "기본값 설정"버튼을 활성화하는 것이 더 좋은 UI 솔루션 일 수 있습니다. 사용자는 "기본값 설정"을 클릭하고 기본값을 설정 한 다음 편집 모드로 들어갑니다.

"기본값 설정"버튼이있는 이유를 잘 모르겠습니다. 새 행을 추가 할 때 기본값을로드하지 않아야합니까? 또는 사용자가 이미 데이터가있는 행을 다시 기본값으로 재설정하고자 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. Walter 내 페이지에 원격 시스템의 구성 데이터가 표시됩니다. 두 가지 상황을 해결해야합니다. 1 .- 기본 구성으로 가져 오면 구성 매개 변수가 이미 컴퓨터에서로드되었습니다. 2 .- 매개 변수 중 많은 부분이 체크 박스이며이를 활성화 또는 비활성화하려면 "단축키"가 필요했습니다. 모두 함께. 포인트 1 당신이 말하는대로 고칠 수 있습니다, 편집 모드를 입력하기 전에 기본 설정을 설정합니다. 하지만 실수로 또는 원치 않는 변경을 방지하기 위해 사용자가 편집 모드로 전환 한 경우에만 데이터 변경이 가능하기를 바랍니다. 이전 메시지에서 설명한 해결책은 효과가 있지만 –

관련 문제