0
我有一個具有排序事件的多個劍道MVC網格,因此如果在一個網格上應用排序,它也適用於所有其他網格。這似乎工作正常,直到我需要重寫排序功能和排序2列。排序事件不適用於引發事件的網格
下面的代碼現在將所有其他網格按2列進行排序,但不會在單擊列進行排序時引發事件的網格。
有沒有辦法解決這個問題,使點擊的網格也排序正確?
的Razer:
for (int i = 0; i < grids.Count; i++)
{
@(Html.Kendo().Grid(dataXYZ)
.Name($"grid{i}")
.Deferred()
.Columns(columns =>
{
// Columns
})
.Sortable(sortable =>
{
sortable.SortMode(GridSortMode.SingleColumn);
})
.Events(events => events
.Sort("onSorting")
.DataBound("dataBound")
)
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(50)
.ServerOperation(false)
)
)
}
的javascript:
<script>
function onSorting(arg) {
$("div[data-role=grid]").each(function() {
var grid = $(this).data("kendoGrid");
var dsSort = [];
dsSort.push({ field: "SortColumnHelper", dir: "desc" });
dsSort.push({ field: arg.sort.field, dir: arg.sort.dir });
grid.dataSource.sort(dsSort);
});
}
</script>
編輯:我覺得這是怎麼回事是網格進行排序之前排序事件被稱爲,所以代碼的作品,但那麼真正的排序事件代碼運行後發生。
你能不能您的排序事件添加到數據源,而電網?沒有檢查,但它肯定會解決你的問題,如果它允許你 –