2012-07-12 139 views
2

我想過濾使用JavaScript以下數據後重新綁定劍道網格上點擊一個按鈕,但它不工作。我該怎麼辦?使用Kendo.Mvc.Dll重新綁定劍道電網在MVC

我的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() 
          ) 

的JavaScript:

$.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://計算器。 com/questions/18459848/kendo-ui-datasource-refresh/21727407#21727407 – Vaibhav 2014-07-15 06:04:51

回答

2

調用grid.dataSource.data(result)應該重新綁定網格,除非result不是預期的格式。

+0

結果格式正確。當我檢查它使用Firebug它說 grid.dataSource.data(結果) - 數據不是一個函數 grid.dataSource.read() - 閱讀不是一個函數 我已經嘗試過很多次,但沒有工作&檢查了一切。 當我試圖 grid.dataSource =結果; 它確定,但不重新綁定網格。 grid.dataSource.fetch() - 獲取不是一個函數 – 2012-07-19 04:21:29

+0

嗨阿塔納斯Korchev, 能否請您提供我您的電子郵件,所以我可以給你示例項目? 謝謝 – 2012-07-19 04:28:25

+1

我發現了錯誤。錯誤是我沒有導入現在,過濾和重新綁定工作正常,但現在模板的另一個問題出現不加工。你有其他選擇嗎? 它應該像telerik Grid一樣工作。 謝謝 – 2012-07-19 06:10:26

0

它看起來,使用Ajax的結合時,主叫grid.dataSource.fetch()將觸發數據源定義的讀取方法和自動重新綁定。

0

試試這個:

$("#gridName").data("kendoGrid").dataSource.sync();