2010-12-06 5 views
3

에서 tabletogrid 함수를 사용하려고합니다. 내 문제는 테이블의 행을 삭제하면 표 셀의 너비 특성이 사라지는 것입니다. 그러나 마지막 행이 삭제 된 경우 삭제 작업은 예상대로 발생합니다. jqGrid TableToGrid 행을 삭제

<table id="item_table"> 
    <thead> 
     <tr> 
      <th width="60">Date</th> 
      <th width="15">Icon</th> 
      <th width="80">Shop</th> 
      <th width="15">Delete</th> 
     </tr> 
    <thead> 
    <tbody> 
     <tr> 
      <td width="60" class="col_date"> 
       <div class="date"></div> 
      </td> 
      <td width="15" class="col_icon"> 
       <div class="icon"></div> 
      </td> 
      <td width="80" class="col_shop"> 
       <div class="shop"></div> 
      </td> 
      <td width="25" class="col_delete"> 
       <div class="delete"></div> 
      </td> 
     </tr> 
    </tbody> 
</table> 

가 그럼 난 아약스 코드를 사용하여 테이블에 내용을 추가 - 예를 들어, 여기 내 HTML 테이블입니다. 그 다음에는 jqgrid 설정이 있습니다.

jQuery.extend(jQuery.jgrid.defaults, { 
     caption: "Shops", 
     autowidth: true, 
     height: 24, 
     hidegrid: false, 
     onCellSelect: function(rowid, index, contents, target) { 
      if (index == 3) { 
       $('#item_table tr:eq(' + rowid + ')').remove(); 
      } 
     }, 
     colModel:[ 
      { name: 'date', index: 'date', width: 0, resizable: false }, 
      { name: 'icon', index: 'icon', width: 0, resizable: false }, 
      { name: 'shop', index: 'shop', width: 0, resizable: false }, 
      { name: 'delete', index: 'delete', width: 0, resizable: false } 
     ] 
    }); 
    tableToGrid("#item_table", { 
     colNames: ['Date', '', 'Shop', 'Delete'] 
    }); 

삭제 작업으로 인해 너비 특성이 사라집니다. 왜 이런 일이 일어나는 걸까요? 그리드의

세포는 ....

<TD style="WIDTH: 80px" title="" role=gridcell><DIV class=shop></DIV></TD> 

마지막 행을 제외한 모든 행을 삭제하면

은, 세포가이처럼되고 ... 이런 식으로 표시 얻을

<TD title="" role=gridcell><DIV class=shop></DIV></TD> 

폭 속성 제거됩니다. 내가 여기서 무엇을 놓치고 있니?

답변

16

테이블을 jqGrid로 변환 한 후에는 methods의 jqGrid를 사용할 수 있습니다. jqGrid에서 행을 삭제하는 표준 방법은 delRowData 메소드입니다.

$('#item_table').jqGrid('delRowData',rowid); 

가 자동으로 조절 격자의 높이가 사용자가 옵션 height:'100%'를 추가 할 수 있도록합니다. colModel에있는 모든 열의 열 정의 title:false에 대한 설정 중 하나를 추가로 설정해야합니다.이 속성은 생성하지 않아야합니다.

하나 더 작은 의견. formatter:'actions' 또는 custom formatter을 보면 사용하기 쉽지만 셀 내용으로 HTML 코드 조각을 만들 수 있습니다. 모든 기능은 '삭제'명령에 대해 관심을 가질 수 있습니다.

1

gridPreSeleccion : ID 그리드

이 그리드는 호출 이벤트 JQuery와

//Funcion que elimina los multiselect de un jqgrid seleccionados 
function eliminarSeleccionados() { 
    var idsContribuyentesSelect = jQuery("#gridPreSeleccion").jqGrid('getGridParam', 'selarrrow'); 
    if(idsContribuyentesSelect.length == 0) { 
    jQuery.MessageAlertSath("Es necesario seleccionar una fila.") 
    } else { 
    var ids = jQuery("#gridPreSeleccion").jqGrid('getDataIDs'); 
    var a = ids.length; 
    var j = 0; 
    while(j == 0) { 
     if(jQuery("#gridPreSeleccion").jqGrid('getGridParam', 'selarrrow').length <= 0) { 
     j = 1; 
     } else { 
     for(var i = 0; i < a; i++) { 
      if(idsContribuyentesSelect[0] == ids[i]) { 
      jQuery('#gridPreSeleccion').delRowData(ids[i]); 
      break; 
      } 
     } 
     } 
    } 
    } 
} 
과 다중 선택 사실이다
관련 문제