2017-01-03 2 views
0

jqGrid 4.3.1을 사용하여 그리드보기에서 숨겨져있는 일부 열이 있지만이를 편집 폼에서 표시 및 편집 할 수 있기를 바랍니다."edithidden : true"가 colModel에 포함되어 있어도 jqGrid 필드가 양식에서 숨겨져있는 이유는 무엇입니까?

documentation에 따르면, colModel 모듈의 editrules 옵션의 edithidden 하위 옵션은 내가 원하는 정확한 동작 (강조 광산) 수 :

이 옵션은 양식 편집 모듈에서 유효합니다. 기본적으로 숨겨진 필드는 편집 할 수 없습니다. 필드가 눈금에서 숨겨져 있고 edithidden이 true로 설정된 경우 추가 또는 편집 메서드가 호출 될 때 필드를 편집 할 수 있습니다. 나는 다음과 같은 코드를 구현하지만

: 내가 가지고있는 같은 동작입니다

<tr style="display:none" rowpos="7" class="FormData" id="tr_RedCoValue"> 

:

{name:'AcmeCoValue',editrules: {edithidden: true}, editable: true, show:'AcmeCovalue', hidden:true, fixed:'true', width: 65}, 

편집 양식의 렌더링 된 HTML은이 필드를 보여줍니다 내가 설정 한 :

editrules: {edithidden: false} 

se 내게는 edithidden 매개 변수가 효과적이지 않습니다.

내가 볼 수있게 한 유일한 방법은 필드를 표시 할 행을 formoptions:{rowpos:7} 옵션으로 표시하는 것입니다. 이는 edithidden: false 인 경우에도 필드를 볼 수있게합니다.

edithidden이 효과가없는 이유는 무엇입니까?

이것은 내가 계승 한 레거시 코드입니다. 확인해야 할 것이 있습니까? 이는 예상되는 동작 인 edithidden을 무시할 수 있습니까?

자바 스크립트에서 원하는 동작을 수동으로 구현할 수 있다고 생각하지만 단순성과 유지 보수성을 위해 "jqGrid"방식을 선호합니다. 또한 작동하지 않는 이유와 다른 문제에 대해 걱정할 수도 있습니다. 이것과 관련있다.

답변

2

editrules: {edithidden: true}, editable: true, hidden: true 

의 사용은 컬럼을 편집 할 수 있지만, 아래에 "편집"은 하나의 열에서 데이터 서버에만 전송된다는 것을 의미한다. jqGrid는 양식의 데이터를 서버로 보내기 때문에 양식이 숨겨진 행으로 채워지지만 행은 숨겨져 있습니다.

beforeShowForm 콜백 (here 참조) 내에 $("#tr_RedCoValue").show()을 포함시켜 문제를 해결할 수 있습니다. 나는 엄격하게 당신은 당신이 CDN에서 사용 (the wiki articlethe get started documentation 참조) 할 수있는 free jqGrid 4.13.6에 사용 복고풍 버전 4.3.1을 업그레이드하는 것이 좋습니다 어떤 방법으로

. 5 년 전 버전 4.3.1이 더 많이 게시되었습니다. Chrome 16, Firefox 8 및 IE9의 시대였습니다. 이제는 Chrome 55, Firefox 50.1, Microsoft Edge 38, IE11을 사용합니다. jqGrid 4.3.1은 최신 웹 브라우저와 최신 버전의 jQuery 및 jQuery UI에서 잘 작동하지 않습니다.

+0

답장을 보내 주셔서 감사합니다. 4.3.1에서 4.13으로 업그레이드 할 예정입니다.6은 양식보기에서 편집 가능한 필드를 표시하는 동작에 영향을 미치지 만 표 에서처럼 그리드보기에는 표시되지 않습니까? – StockB

+0

@StockB : 환영합니다! jqGrid CSS 및 JS 파일을 CDN에서 직접로드하여 무료 jqGrid 4.13.6을 쉽게 테스트 할 수 있습니다 ([wiki 기사] 참조 (https://github.com/free-jqgrid/jqGrid/wiki/Access-free-jqGrid-from). - 다른 CDNs)). HTML 코드를 3 줄만 수정해야합니다. editrules : {edithidden : true}, editable : true, hidden : true'가 ** 표시 **되고 양식의 데이터를 편집 할 수 있습니다. Free jqGrid는 editable과 같은 편집 가능한 콜백이나 "editable"에 대한 사용 문자열 값을 지원합니다 : "hidden", "disabled"또는 "readonly". 나는 지난 5 년의 특징을 설명 할 수 없다. – Oleg

+0

업 그레 이드가 나에게이 두통 등을 덜어 주겠다는 소리가 들립니다. 호환성을 확인하기 위해 테스트 환경에서 시험해 보겠습니다. – StockB