2011-03-15 7 views
0

내가 jaGrid 및 ASP.NET MVC 2. 모든 것이 작동 작업에 문제가 오전,하지만 난 행을 선택했을 때 방화범이 끌려에서이 오류가 발생합니다 : 캐치되지 않는 예외를 :있는 jqGrid - 그런 방법 : restoreRow.있는 jqGrid : 그런 방법 : restoreRow

onSelectRow: function(id) { 
    if (id && id !== lastsel) { 
     jQuery('#list').jqGrid('restoreRow', lastsel); 
     jQuery('#list').jqGrid('editRow', id, true); 
     lastsel = id; 
    } 

내 생각은, 문제가있는 jqGrid 라이브러리를 포함 (또는 순서를 포함) : Debugin JS는 그 오류가 여기에 무슨 일이 생긴 알고 있습니다. 이것은 내 Index.aspx 페이지입니다.

<%--CSS Files--%> 
<link href="/Content/jquery-ui-1.8.7.css" rel="stylesheet" type="text/css" /> 
<link href="/Content/ui.jqgrid.css" rel="stylesheet" type="text/css" /> 
<link href="/Content/ui.multiselect.css" rel="stylesheet" type="text/css" /> 

<%--jQuery Library--%> 
<script type="text/javascript" src="../../Scripts/jquery-1.4.4.min.js"></script> 

<%--Must load language tag BEFORE script tag--%> 
<script type="text/javascript" src="../../Scripts/grid.locale-es.js"></script> 
<script type="text/javascript" src="../../Scripts/jquery.jqGrid.min.js"></script> 
<script type="text/javascript" src="../../Scripts/grid.jqueryui.js"></script> 
<script type="text/javascript" src="../../Scripts/grid.base.js"></script> 
<script type="text/javascript" src="../../Scripts/grid.common.js"></script> 
<script type="text/javascript" src="../../Scripts/grid.formedit.js"></script> 
<script type="text/javascript" src="../../Scripts/jquery.fmatter.js"></script> 
<script type="text/javascript" src="../../Scripts/grid.custom.js"></script> 
<script type="text/javascript" src="../../Scripts/jqDnR.js"></script> 
<script type="text/javascript" src="../../Scripts/jqModal.js"></script> 
<script type="text/javascript" src="../../Scripts/grid.import.js"></script> 

</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

<table id="tableAccidentes" border=0> 
    <tr> 
     <td><img alt="" src="../../images/icono_victima.png" /></td> 
     <td><h2>Accidentes Registrados</h2></td> 
    </tr> 
</table> 
<script type="text/javascript"> 
    var lastsel; 
    var Plantas = ['Pablo Podesta', 'Pilar', 'Tigre', 'Otra']; 

    jQuery(document).ready(function() { 
     jQuery("#list").jqGrid({ 
      url: '/Accidentes/ListarAccidentes', 
      datatype: "json", 
      colNames: ['Fecha', 'Detalle', 'Accidentado', 'Planta'], 
      colModel: [ 
       { name:'Fecha', index:'Fecha', width:150, align:'left', 
        editable:true }, 
       { name:'Detalle', index:'Detalle', width:150, align:'left', 
        editable:true }, 
       { name:'Accidentado', index:'Accidentado', width:200, 
        align:'left', editable:true }, 
       { name:'planta', index:'planta', width:150, align:'left', 
        editable:true, edittype:"select", 
        editoptions: { value:Plantas} } 
      ], 
      onSelectRow: function(id) { 
       if (id && id !== lastsel) { 
        jQuery('#list').jqGrid('restoreRow', lastsel); 
        jQuery('#list').jqGrid('editRow', id, true); 
        lastsel = id; 
       } 
      }, 
      editurl: "/Accidentes/GridSave", 
      edit: { 
       addCaption: "Agregar Accidente", 
       editCaption: "Editar Accidente", 
       bSubmit: "Guardar", 
       bCancel: "Cancelar", 
       bClose: "Cerrar", 
       saveData: "Se modifico el registro! ¿guardar los cambios?", 
       bYes: "Si", 
       bNo: "No", 
       bExit: "Cancelar" 
      }, 
      pager: jQuery('#pager'), 
      rowNum: 10, 
      rowList: [5, 10, 20, 50], 
      sortname: 'Id', 
      sortorder: "desc", 
      viewrecords: true, 
      imgpath: '/scripts/themes/coffee/images', 
      caption: 'Accidente' 
     }).navGrid('#pager', { edit: true, add: true, search: false, del: false }, 
        { closeAfterAdd: true, closeAfterEdit: true }); 
     // add custom button to export the data to excel 
     jQuery("#list").jqGrid('navButtonAdd','#pager',{ 
      caption:"", 
      onClickButton : function() { 
      jQuery("#list").jqGrid('excelExport', 
            { url: '/Accidentes/ExportarAccidentes' }); 
      } 
     }); 
    }); 

</script> 

<%-- HTML Required--%> 
<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table> 
<div id="pager" class="scroll" style="text-align:center;"></div> 

제발 도와 줄 사람이 있습니까? 사용

+0

는 질문에 새로운 해답을 추가하지하시기 바랍니다. 원래의 질문에 새로운 정보를 추가하고 질문을 변경했다는 짤막한 답을 작은 답으로 써주십시오. 그래서 나는 새로운 코멘트에 대한 통보를 받고, 당신의 질문을 읽고 당신을 도울 수 있습니다. 새 답변이 삭제되었습니다. 이제 삭제 된 질문으로 돌아가십시오. 최소화 된'jquery.jqGrid.min.js' **와 ** 압축되지 않은'grid.base.js' 및 다른 파일들을 계속해서 포함시킵니다. 작동하지 않습니다. jquery.jqGrid.min.js 또는 "-es.js"를 제외한 다른 모든 j를 제거해야합니다. – Oleg

답변

0

restoreRoweditRow 방법은의 grid.inlinedit.js 파일에 정의와 the inline editing 모듈 (the jqGrid documentation에 더 참조)의 일부가된다. 또한 동일한 기능을 두 번 정의하지 않으려면 jquery.jqGrid.min.js 파일을 제거해야합니다. 방법 restoreRowjquery.jqGrid.min.js에 정의되지 않았으므로 아마 당신은 아마도 틀린 jqGrid 버전을 다운로드 한 것을 사용합니다. 한 번 더 jqGrid를 다운로드하고 "인라인 편집"모듈을 선택했는지 확인하십시오. 텍스트 편집기에서 jquery.jqGrid.min.js 파일을 열면 다운로드의 일부인 파일의 시작 부분에있는 주석에 나타납니다.

몇 가지 추가 설명 : colModel의 매개 변수가 기본값 인 the documentation에 설명되어 있습니다. 예를 들어, width:150align:'left'에는 디 파 아웃 값이 있으므로 열 정의에서 해당 값을 제거 할 수 있습니다.

사용하는 editoptions의 "선택"유형에 대한 value 속성이 잘못되었습니다. Plantas

var Plantas = { 'Pablo Podesta':'Pablo Podesta', Pilar:'Pilar', 
       Tigre:'Tigre', Otra:'Otra'}; 

으로 정의 또는

var Plantas = 'Pablo Podesta:Pablo Podesta;Pilar:Pilar;Tigre:Tigre;Otra:Otra'; 

로 자세한 내용 the documentation를 참조해야한다.

파라미터 imgpathdeprecated 및 제거되어야한다. 클래스 "스크롤"도 사용되지되고있는 jqGrid에 대한 HTML 조각은 예 here를 참조

<table id="list"></table> 
<div id="pager"></div> 

로 감소 될 수있다.

매개 변수 edit이 jqGrid에 없으므로 양식 편집의 editGridRow 매개 변수입니다. navGrid 매개 변수 prmEditprmAdd의 일부로 정의 할 수 있습니다. 현재는 prmEdit 만 사용합니다. 아마 i18n 디렉토리에서 grid.locale-XX.js의 사용은 edit 매개 변수의 사용이 불필요하게됩니다. 당신이 저에게 추가 정보를 제공하려는 경우