2013-04-15 2 views
1

"DataTables"플러그인을 사용하고 있는데, 사용자가 클릭 할 때 다른 URL을 호출하는 라인 단위로 이미지를 추가하고 싶습니다. 플러그인 JQuery DataTables에 대한 버튼 행 추가

난 www.datatables.net의 예를 따라 그러나 아래 오류 제공되어 행 0의 데이터 소스에서 요청 미지 파라미터 '4':

DataTables 경고 (테이블 ID = 'myDataTable를').

기록이 화면에 표시됩니다

<h2>Index</h2> 

<script type="text/javascript"> 
    $(document).ready(function() { 

     var oTable = $('#myDataTable').dataTable({ 
      "bServerSide": true, 
      "sAjaxSource": "AjaxHandler", 
      "bProcessing": true, 
      "sPaginationType": "full_numbers", 
      "aoColumns": [ 
         { "mDataProp": "ID", "bSortable": false }, 
         { "mDataProp": "Nome", "sTitle": "Identificação do produto" }, 
         { "mDataProp": "Address", "sTitle": "Descrição do produto" }, 
         { "mDataProp": "Town" }, 
         { "fnRender": function (o) {return '<a href=/Produto/Detalhar/' + o.aData[0] + '>' + 'More' + '</a>';}} 
      ], 
     }); 
    }); 
</script> 


<table id="myDataTable" class="display"> 
    <thead> 
     <tr> 
      <th>ID</th> 
      <th>Company name</th> 
      <th>Address</th> 
      <th>Town</th> 
      <th>Action</th> 
     </tr> 
    </thead> 
    <tbody> 
    </tbody> 
</table> 

답변

4

정말 (부족) 데이터 테이블,하지만이 방법을 시도해야 모르는 : {확인 mDataProp이되지 않거나되지되지}

,
$(document).ready(function() { 

     var oTable = $('#myDataTable').dataTable({ 
      "bServerSide": true, 
      "sAjaxSource": "AjaxHandler", 
      "bProcessing": true, 
      "sPaginationType": "full_numbers", 
      "aoColumns": [ 
         { "mData": "ID", "bSortable": false }, 
         { "mData": "Nome", "sTitle": "Identificação do produto" }, 
         { "mData": "Address", "sTitle": "Descrição do produto" }, 
         { "mData": "Town" }, 
         { "mData": null, 
        "bSortable": false, 
      "mRender": function (o) {return '<a href=/Produto/Detalhar/' + o.aData[0] + '>' + 'More' + '</a>';} 
      } 
      ] 
     }); 
    }); 

데이터 신고서에 컬럼 선언이 있는지 확인하고 데이터 ID, 이름, 주소 및 도시가 포함 된 json 응답을 아약스 응답으로 가져야합니다. 첫 번째 데이터가 ID가 아닌 ID 인 경우 오류가 발생합니다.

5

o.aData가 정의되지 않았기 때문에 dataTables 버전 1.10.0-dev를 사용하고 있으며 허용 된 솔루션이 나에게 적합하지 않습니다. 대신 나는 서버 측에서 돌아 오는 json 객체의 모든 속성을 가진다.

$(document).ready(function() { 
    var oTable = $('#myDataTable').dataTable({ 
     "bServerSide": true, 
     "sAjaxSource": "AjaxHandler", 
     "bProcessing": true, 
     "sPaginationType": "full_numbers", 
     "aoColumns": [ 
      { "mData": "ID", "bSortable": false }, 
      { "mData": "Nome", "sTitle": "Identificação do produto" }, 
      { "mData": "Address", "sTitle": "Descrição do produto" }, 
      { "mData": "Town" }, 
      { 
       "mData": null, 
       "bSortable": false, 
       "mRender": function (o) { return '<a href=/Produto/Detalhar/' + o.Id + '>' + 'More' + '</a>'; } 
      } 
     ] 
    }); 
}); 

이 구성 dataTables의 새 버전 또는 다른 사람 따라 (하지만 내 테이블 ... 같은 방식으로 구성되어 있으면) 나도 몰라 : 그래서 내 솔루션입니다.

+0

안녕하세요,이 코드는이 URL http://www.flexgestor.com.br/CA에서 작동하며 dataTable 버전은 1.9.4 @Daniele Armanasco입니다. –

관련 문제