2017-09-19 4 views
0

간단한 jqGrid를 설정하고 인라인 편집 및 삭제가 가능하지만 이제 호출기에 추가 버튼을 표시하려고합니다. 기본 추가 동작으로 시작 하겠지만 추가 단추를 표시하는 방법을 기억하지 못하고 무료 jqGrid에서 수행 할 수있는 확실한 방법을 알고 싶습니다.무료 jgGrid는 호출기에 버튼 추가 표시

다음은 현재 코드입니다. 감사.

$('#press_op_setup').jqGrid({ 
     url:'grid.php', 
     postData:{ 
      'arg1':'press_ops' 
     }, 
     height: 'auto', 
     datatype: 'xml', 
     mtype: 'POST', 
     width: 400, 
     colNames:[ 
      'id', 
      'Emp Num' 
     ], 
     colModel:[ 
      {name: 'id', hidden: true, key: true}, 
      {name: 'empnum'} 
     ], 
     inlineEditing: {addRow: {}}, 
     sortname: 'empnum', 
     sortorder: 'asc', 
     viewrecords: true, 
     gridview: true, 
     caption: 'Press Operators', 
     rowNum: 100, 
     pager: true 
    }); 
}) 
+0

내가 필요한 것을 정확히 이해하고 있는지 확신 할 수 없습니다. 최소한'inlineNav' 메소드 나'navGrid'와'inlineNav' 메소드를 호출해야합니다. jqGrid ("navGrid"). .. jqGrid ("inlineNav()"). "$ ('#. "); jqGrid :'navOptions : {add : false, edit : false, search : false, refresh : false}'와'inlineNavOptions : {add : true, edit : true}'옵션을 추가 할 수 있습니다. 그것이 필요한 것입니까? – Oleg

답변

1

나는 당신이 필요한 것을 정확하게 이해하고 있는지 확신하지 못합니다. 전화 번호는 inlineNav이거나 navGridinlineNav입니다. 눈금을 만든 후에 직접 메서드를 호출 할 수 있습니다. navOptionsinlineNavOptions을 사용하면 navGridinlineNav의 추가 옵션을 지정할 수 있습니다. 또는 navGridinlineNav 방법의 옵션으로 직접 동일한 옵션을 사용할 수 있습니다.

간단한 방법으로는 작동하지 않는 것이 하나 있습니다. 탐색기 바 (호출기) 내부에있는 버튼을 다시 정렬하는 것입니다. append, prepend과 같은 jQuery 메서드를 사용하여 DOM 요소를 이동할 수도 있습니다. 예를 들어, 코드는 다음과 같을 수 있습니다

$('#press_op_setup').jqGrid({ 
    url:'grid.php', 
    postData:{ 
     'arg1':'press_ops' 
    }, 
    datatype: 'xml', 
    mtype: 'POST', 
    width: 400, 
    colNames:[ 
     'id', 
     'Emp Num' 
    ], 
    colModel:[ 
     //{name: 'id', hidden: true, key: true}, 
     {name: 'empnum'} 
    ], 
    inlineEditing: { keys: true }, 
    sortname: 'empnum', 
    sortorder: 'asc', 
    viewrecords: true, 
    caption: 'Press Operators', 
    rowNum: 100, 
    pager: true, 
    navOptions: { add: false, edit: false, search: false, refresh: false }, 
    inlineNavOptions: { add: true, edit: true } 
}).jqGrid("navGrid") 
    .jqGrid("inlineNav"); 
$("#press_op_setup_iladd").prependTo($("#press_op_setup_iladd").parent()); 

나는 불필요한 숨겨진 id 열을 제거했습니다. 행의 id 속성 (<tr> 요소)은 이미 설정됩니다. 격자의 숨겨진 <td> 요소에 동일한 정보의 사본을 보유 할 필요가 없습니다.

무료 jqGrid의 기본값 인 불필요한 height: 'auto'gridview: true 옵션을 제거했습니다. 빈 addRow: {} 내부가 inlineEditing인데도 불필요합니다. 위의 keys: true과 같이 설정해야하는 속성 만 지정해야합니다.

+0

예를 들어,이 피들에서는 페이저에 add를위한 plus 버튼이 있기를 원하지만 버튼이 보이지 않는 추가 단계를 사용하는 것 같습니다. https://jsfiddle.net/yks2rawL/ –

+0

@jeffery_the_wind : 죄송합니다. 내 대답과 질문에 대한 의견에 'navGrid' 및'inlineNav' 호출을 설명했지만 코드를 호출하는 것을 잊어 버렸습니다. 내 대답. https://jsfiddle.net/OlegKi/yks2rawL/1/ – Oleg

+0

@jeffery_the_wind : 무료 jqGrid의 최신 버전을 사용하기 위해 데모를 추가로 변경했습니다 : 4.15.0 – Oleg