1

我正在研究 asp.net mvc 3。我正在尝试使用 kendo mvc ui 网格显示记录列表。并且我已将可编辑模式设置为弹出,因此可以在服务器上完成处理。我想在数据加载到网格之前显示加载图像,这意味着在分页、刷新等期间。我使用了网格

 @(Html.Kendo().Grid(Model)
    .Name("GrdXXX")
    .HtmlAttributes(new { style="width:1000px;" })
    .Columns(columns =>
    {
        columns.Bound(p => p.xxx).Width(50);
        columns.Bound(p => p.yyy).Width(50);
        columns.Bound(p => p.zzz).Width(80);
        columns.Bound(p => p.State).Width(50);
        columns.Bound(p => p.Phone).Width(70);
        columns.Command(command => { command.Edit().Text("Edit Details"); command.Destroy().HtmlAttributes(new { onclick = "return DeleteConfirm();" }); }).Width(120);
    })
    .ToolBar(toolbar => toolbar.Create().Text("Add New Zip Code"))
    .Editable(editable => editable.Mode(GridEditMode.PopUp).Window(m => m.Title("Edit Zipcode").Draggable().Resizable()))
            .Pageable()
            .Sortable()
            .Scrollable()
    .DataSource(dataSource => dataSource
        .Server()
        .Model(model => model.Id(p => p.RecNo))
                .Update("Update", "ghj")
                .Create("Create", "ghj")
                .Destroy("Delete", "ghj")
    )
)

我曾尝试使用 ajax jquery 调用,但它对我不起作用。所以请指导我。

4

3 回答 3

5

这就是我如何通过扩展 jQuery 来解决显式向 Kendo 网格添加加载效果的问题。它使用原生的剑道样式。

$.extend($.fn, {
        busy: function (c) {
            b = $(this);
            var d = b.find(".k-loading-mask");
            c ? d.length || (d = $("<div class='k-loading-mask'><span class='k-loading-text'>Loading...</span><div class='k-loading-image'/><div class='k-loading-color'/></div>").width(b.outerWidth()).height(b.outerHeight()).prependTo(b)) : d && d.remove()
        }        
    });

然后将其用作

$("#grid").busy(true); // change to false to hide loading effect
于 2012-12-12T16:50:34.563 回答
2

Telerik 推荐的更好的解决方案:

// show loading indicator
kendo.ui.progress($element, true);

// hide loading indicator
kendo.ui.progress($element, false);

// $element is a jQuery object. The element must have a position:relative style applied

参考。http://www.telerik.com/forums/how-to-manually-show-and-hide-loading-or-spinning-image#Y_apWF417kKpicdUz0NUHg

于 2015-03-18T18:36:47.327 回答
0

如果为 ajax 绑定配置了网格,它将自动显示加载图像。您的网格配置为依赖于常规 HTTP GET 请求(无 Ajax)的服务器绑定。一旦浏览器开始发出 HTTP GET 请求,加载图像将立即被删除。

于 2012-09-28T07:06:22.127 回答