2016-10-04 2 views
0

나는 radgrid가 포함 된 페이지가 있습니다. 그리드에는 데이터베이스에서 검색된 데이터가 포함됩니다. 또한 사용자가 새 레코드에 대한 세부 정보를 입력 할 수있는 새 탭을 열어주는 레코드 추가 버튼이 있습니다. 레코드를 추가하면 사용자가 열린 탭을 닫습니다.일단 데이터베이스가 변경되면 radgrid를 새로 고칩니다.

추가 된 새 레코드는 사용자가 페이지를 새로 고칠 때까지 표에 표시되지 않습니다. 사용자가 레코드 추가 탭을 닫거나 사용자가 그리드가있는 탭으로 다시 전환 할 때 모눈의 데이터를 새로 고치거나 다시 바인딩 할 수 있습니까? 또는 활성 탭 (백그라운드에서 새로 고침)이 아니더라도 데이터베이스에 대한 변경 사항이 만들어지면 그리드의 데이터를 업데이트하는 방법이 있습니까?

나는 함수를 사용하려고 시도했지만 작동하지 않는 것 같습니다. 왜 그런가?

$(window).focus(RefreshGrid()); 
     function RefreshGrid() { 
      var masterTable = $find("<%= rgQualifiedLeads.ClientID %>").get_masterTableView(); 
      masterTable.rebind(); 
     } 

답변

2

나는 그것이 당신의 "닫기 탭을 열어"액션/이벤트의 데이터를 새로 고쳐 있도록 그리드를 바인딩해야합니다 생각합니다.

function RefreshGrid() { 
    var masterTable = $find("<%= RadGrid1.ClientID %>").get_masterTableView(); 
    masterTable.rebind(); 
} 

RadGrid1는 테이블의 이름입니다.

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="YourTable"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="YourTable" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 
<telerik:RadGrid ID="TableUtil" ... 
+0

"액션이 경우 그리드 AJAX 요청을 서버에 대해 수행 될 것이다 Rebind

이 예에서와 같이 RadAjaxPanel 또는 RadAjaxManager을 사용하여 여기

이 함수에 대한 링크이며 RadAjaxManager/RadAjaxPanel 또는 ASP : UpdatePanel과 함께 제공됩니다. " 이것은 무엇을 의미 하는가? radgrid가 pannel 안에 있어야합니까? – Scar

+0

편집을 참조하십시오. 건배 –

관련 문제