2

以下の JavaScript を使用してデータをフィルタリングした後、ボタンのクリックで剣道グリッドを再バインドしようとしていますが、機能していません。私は何をすべきか?

Kendo.Mvc.Dll を使用した 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/NewESManager?EId=@item.pkESManagerId" class="access_btn">
     </a><a href="../Utilities/NewESManager?EId=@item.pkESManagerId" class="notes_btn"></a><a href="../Utilities/NewESManager?EId=@item.pkESManagerId" class="edit_btn">
     </a><a href="../Utilities/NewESManager?EId=@item.pkESManagerId" 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);
        });
4

3 に答える 3

2

が予期された形式でない限り、呼び出しgrid.dataSource.data(result)はグリッドを再バインドする必要があります。result

于 2012-07-18T10:23:13.330 に答える
0

これを試して:

$("#gridName").data("kendoGrid").dataSource.sync();
于 2014-06-27T22:51:03.840 に答える
0

ajaxバインディングを使用している場合、呼び出すgrid.dataSource.fetch()と、データソースで定義された読み取りメソッドがトリガーされ、自動的に再バインドされるようです。

于 2013-06-11T14:05:39.203 に答える