2015-01-18 4 views
0

에 대한 알 수없는 매개 변수 FIRSTNAME을 요청Datatables 경고 '-'행 X "

<table id="users" class="table table-striped table-bordered"> 
     <thead> 
       <tr> 
        <th>FirstName</th> 
        <th>LastName</th> 
        <th>Name</th> 
         <th>Username</th> 
         <th>Password</th> 
         <th>Email</th> 
         <th>Role</th> 
       </tr> 
     <thead> 
     <tbody> 

     </tbody> 
</table> 
``` 

을 다음과 내가 행을 추가하려고하면

userTable = $("#users").DataTable({ 
    serverSide: true, 
    ajax: { 
     url: "scripts/getusers.php", 
     type: "POST", 
     dataType: "json" 
    }, 
    "columns": [ 
     {data: "FirstName", "orderable": true,"searchable":true,visible:false}, 
     {data: "LastName", "orderable": true,"searchable":true,visible:false}, 
     {data : null, 
      "render":function(data, type, row, meta){ 
      return row['FirstName']+','+row['LastName']; 
     }}, 
     {data: "Username", "orderable": true,"searchable":true}, 
     {data: "Password", "orderable": true,"searchable":true, 
     "render":function(data, type, row, meta){ 
      return '********'; 
     }}, 
     {data: "Email", "orderable": true,"searchable":true}, 
     {data: "Role", "orderable": true,"searchable":true, 
     "render":function(data, type, row, meta){ 
      return data == 1?'Root':(data == 2?'Admin':'User'); 
     }} 
    ], 
    "language": { 
     "emptyTable": "Seems no users were registered yet" 
    }, 
    dom: 'T<"clear">lfrtip' 
}); 

을 다음과 같이 자바 스크립트를 대응하는대로 나는 datatables 코드를 데 다음과 같이 행이 성공적으로 추가되었지만 경고를 표시합니다.

userTable.row.add ([data.FirstName, data.LastName, data.Username, d ata.Password], data.Email, data.Role) .draw();

는 (내 기본 길이는 10입니다) '행 (10)에 대한 알 수없는 매개 변수 FIRSTNAME 요청'

나는 다음과 같은

USERTABLE를 호출 한 후 here을 같이 행을 선택하고하고 행을 업데이트하려면 .row ('. selected'). data ([data.FirstName, data.LastName, data.Username, data.Password], data.Email, data.Role) .draw();

위와 동일한 오류가 발생합니다. 그것은 경우에 행을 추가하고 성공적으로 업데이트됩니다 모두에서

(x는 행 번호 나 업데이트하고이다) '행 x에 대한 알 수없는 매개 변수 FIRSTNAME 요청'

을 말하고있다. 그러나 나는 경고를 받고있다.

제 3 열에 쓴 렌더링 기능에는 문제가있는 것 같습니다.

위의 그림과 같이 업데이트하려면 위의 업데이트 문을 여러 번 호출 할 수 없다는 것을 의미하는 선택된 클래스를 제거하는 draw 메서드를 호출하고 있습니다. 다른 옵션이 있습니까? 실제로 위의 업데이트 문은 모달 대화 상자에서 호출됩니다. 따라서 동일한 행이 여러 번 업데이트 될 수 있어야합니다. draw()가 호출되어 'selected'클래스를 지우면 불가능합니다. 이것에 대한 해결책이 있습니까?

답변

0

나는 대답을 얻었다. 시간 컨트롤에 의해 객체 렌더링을 기대하는 열이 렌더링되기 시작하면서 배열을 제공하고 배열을 전달하는 대신 행을 업데이트하는 동안 전체 객체를 전달해야합니다. 내 코드의 버그로 인해 추가하는 동안 'data'객체의 이름이 FirstName 인 속성이 없습니다. 이것이 경고를 보내는 이유입니다. 그러나 전체 테이블을 다시로드하는 draw() 메서드를 호출하기 때문에 테이블이 업데이트되고 있습니다.