2015-01-12 1 views
4

다음 코드가있는 부트 스트랩 테이블이 하나 있습니다.부트 스트랩 테이블에서 데이터를 업데이트하는 방법

<table id="tblPendingRequests" data-height="300"> 
     <thead> 
      <tr> 
      <th data-field="Version">Version</th> 
      <th data-field="Env">Env</th> 
      <th data-field="Release">Release</th> 
      <th data-field="CreatedBy">Created By</th> 
      <th data-field="Action">Action</th> 
      </tr> 
     </thead> 
    </table> 

도 아래에 추가됩니다.

<script src="~/Scripts/bootstrap-table.js"></script> 
<link href="~/Content/bootstrap-table.min.css" rel="stylesheet" /> 

내 jQuery 코드는 데이터
 function loadData() 
    { 
     $(function() { 
     $('#tblPendingRequests').bootstrapTable({ 
     }); 
     }); 
    } 

다음 나는이 테이블에 일부 데이터를로드하고로드합니다. 이렇게 :

var mydata = { "Version": data[index].DeploymentName, "Env": data[index].EnvName, 
        "Release":data[index].ReleaseName, "CreatedBy": data[index].UpdatedBy "Action": ActionButton }; 
      testData.push(mydata); 
     updateData(testData); 
    function updateData(myData) { 
    $('#tblPendingRequests').bootstrapTable("append", myData); 

     } 

데이터를 올바르게 표시하고 있습니다. 페이지에 하나의 프로젝트 드롭 다운이 있습니다. Onchange of the project name 신선한 데이터로이 테이블을 채우고 싶습니다. 그것은 일어나지 않습니다. 그것은 내가 원하지 않는 기존 테이블 데이터에 데이터를 추가합니다.

테이블을 새로 고치고 테이블에 새 데이터를로드하는 방법.

답변

4

append 대신 load을 사용해보십시오. official documentation

APPEND에서

은 - 테이블에 데이터를 추가합니다.

로드 - 테이블에 데이터를로드하면 이전 행이 제거됩니다.

또한 두 함수 모두 동일한 인수 data을 허용합니다.

+1

로드 기능은 페이지로드에서만 작동합니다. 페이지가로드 된 후 새로운 데이터로 테이블을로드하려고하면 작동하지 않습니다. – user1826456

+0

@ user1826456 여기서'load'는 우리가 듣고있는 이벤트가 아닙니다. 그것은 단순히 우리가 부르는 메소드 이름입니다. 따라서 페이지로드에서만 작동하는 이유는 없습니다. 공식 문서에있는'table actions'의 예제는'load' 메소드를 포함하고 있습니다 : http://wenzhixin.net.cn/p/bootstrap-table/docs/examples.html#table-methods Check 나가주세요. –

2

나는 테이블 $('#tblPendingRequests').bootstrapTable("destroy");을 파괴하고 데이터를 다시로드, $('#tblPendingRequests').bootstrapTable({data: myFreshData});.

성능 측면에서 볼 때 load이 작동하는 것보다 빠르지는 않을지 모르지만 최대 1,000 개의 행으로 전환하는 것을 결코 눈치 채지 못했을만큼 빠릅니다.

+0

이것은 나를위한 완벽한 해결책이었습니다. 감사, – Eliseo

관련 문제