2012-07-12 2 views
2

아래 JavaScript를 사용하여 데이터를 필터링 한 후 버튼 클릭으로 Kendo Grid를 리 바인드하려고했지만 작동하지 않습니다. 어떻게해야합니까? Kendo.Mvc.Dll를 사용MVC의 Kendo Grid 리 바인드

내 HTML 코드 :

Html.Kendo().Grid<EquityStreet.Data.ESData.Proc_GetESManagersListAndFilterResult>().Name("GridESManager").BindTo(Model.ESManagersList).Columns(columns => 
{ 
    columns.Bound(m => m.pkESManagerId).Template(@<input type="checkbox" id="@item.pkESManagerId" />).Title("").Width("2%"); 
    columns.Bound(m => m.pkESManagerId).Template(@<text> @item.FirstName @item.LastName</text>).Title("Name"); 
    columns.Bound(m => m.CompanyName).Title("Company"); 
    columns.Bound(m => m.MobileNo).Title("Phone Number"); 
    columns.Bound(m => m.ESManagerStatus).Template(@<text>@(item.ESManagerStatus == 1 ? "Active" : "Inactive")</text>).Title("Status"); 
    columns.Bound(m => m.pkESManagerId).Template(@<text> <a href="../Utilities/[email protected]" class="access_btn"> 
    </a><a href="../Utilities/[email protected]" class="notes_btn"></a><a href="../Utilities/[email protected]" class="edit_btn"> 
    </a><a href="../Utilities/[email protected]" class="delete_btn"></a> 
      </text>).Title("Actions"); 
}).ToolBar(tb => 
{ 
    tb.Template("<div class='GridSearchHeader'><div style='float:left'><input type='button' value='Reset Pwd'><input type='button' value='Delete'></div><label>Filter: </label><input type='search' style='width: 230px' id='txtSearch'><select id='Status'><option value=-1>Select</option><option value=1>Active</option><option value=0>Inactive</option></select><input type='button' onclick='FilterList()' value='Go'><input type='button' value='Reset'></div>"); 
}).Pageable() 
          ) 

자바 스크립트 :result가 예상되는 형식이 아닌 경우를 제외하고 grid.dataSource.data(result) 그리드를 리 바인드해야 호출

$.post('@Url.Action("FilterESManagerList", "../../Utilities")', { Keyword: Search, UserStatus: status }, function (result) { 
      var grid = $("#GridESManager").data("kendoGrid"); 
      grid.dataSource.data(result); 
      grid.refresh(); 
      alert(grid); 
     }); 
+0

당신은 위의 링크를 확인하시기 바랍니다 수 [검도 UI 데이터 소스 새로 고침] [1] [1].에 http : // 유래. co.kr/questions/18459848/kendo-ui-datasource-refresh/21727407 # 21727407 – Vaibhav

답변

2

.

+0

결과의 형식이 올바른지 확인하십시오. 데이터가 함수 grid.dataSource.read() 아니다 - - 읽기 기능 없는 내가 여러 번 시도했지만 작동하지 않은 내가 검사 할 때이 불을 지르고를 사용하여이 grid.dataSource.data (결과)를 말한다 모든 것을 검사했다. 시도했을 때 grid.dataSource = result; 그리드를 다시 바인딩하지는 않았지만 완료되었습니다. grid.dataSource.fetch() - 가져 오기가 함수가 아닙니다. –

+0

안녕 Atanas Korchev, 샘플 프로젝트를 보낼 수 있도록 이메일을 보내 주시겠습니까? 감사합니다 –

+1

오류가 있습니다. 오류는 내가 가져 오지 못했습니다. 필터 및 리바 인딩은 정상적으로 작동하지만 다른 문제가 발생합니다. 일. 그 대안이 있습니까? telerik Grid처럼 작동해야합니다. 감사합니다. –

0

아약스 바인딩을 사용할 때 grid.dataSource.fetch()을 호출하면 데이터 소스에 정의 된 read 메소드가 트리거되고 자동으로 리 바인드됩니다.

0

이 시도 : 당신을 도움이된다면

$("#gridName").data("kendoGrid").dataSource.sync(); 
관련 문제