I load data to grid with ajax, the first time when getting data the loader doesn't show up, BUt when data is in grid and I press refresh, then the loader is showing. I have this problem on several grids in our solution. As I must do now is to force the loader, ugly solution: kendo.ui.progress($("#grid" + gridId), true);
Code:
@(Html.Kendo().Grid<HP.PartnerPortal.Web.Areas.CustomerService.Models.PartnerViewModel>()
.Name("gridPartners")
.Columns(columns =>
{
columns.Bound(c => c.InternalPartnerId)
.ClientTemplate(@"<a href='" + @Url.Content("~/CustomerService/Partner/") + "#:InternalPartnerId#/Start' class='g-color-darkblue-v2 g-color-darkblue-v2--hover'>#:InternalPartnerId#</a>")
.Title(Localizer.L("CustomerNumber")).Width(120);
columns.Bound(c => c.Id)
.ClientTemplate(@"<a href='" + @Url.Content("~/CustomerService/Partner/") + "#:InternalPartnerId#/Start' class='g-color-darkblue-v2 g-color-darkblue-v2--hover'>#:Title#</a>")
.Title(Localizer.L("Title"));
columns.Bound(c => c.Id)
.ClientTemplate(@"<a href='" + @Url.Content("~/CustomerService/Partner/") + "#:InternalPartnerId#/Start'>#:AbbreviatedTitle#</a>")
.Width(200)
.Title(Localizer.L("AbbreviatedTitle"));
columns.Bound(c => c.PartnerType).Title(Localizer.L("PartnerType")).Width(140);
columns.Bound(c => c.Market).Title(Localizer.L("Market")).Width(140);
columns.Bound(c => c.CurrentTime).Title(Localizer.L("Current Time")).Width(140);
})
.Scrollable(s => s.Height(667))
.Events(events => events
.DataBinding("onPartnersGridDataBinding")
)
.Sortable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(50)
.Read(read => read.Action("_ListBySearchFilter", "Partner", new { area = "CustomerService" }))
)
)
<script>
function onPartnersGridDataBinding() {
var grid = $("#gridPartners").data("kendoGrid");
var count = grid.dataSource.total();
$("#totalPartners").html(count);
}
</script>