单击网格内的图像重新加载具有不同数据集的相同网格

Reload the same grid with different set of data on click of image inside grid

我正在使用 kendo 网格,在网格内有一列我有一张图片,当我点击图片时我必须重新加载 grid.I 我不确定是哪个一个更适合这样的要求,无论是使用 kendo mvc 网格还是 kendo UI javascript.

我目前正在使用 Kendo MVC 网格,但不确定如何使用其他组重新加载网格 data.Can 有人请指导我如何实现此 requirement.Just 高级别 view.i 还必须为此网格实现自定义分页。

 @(Html.Kendo().Grid<WebApp.Models.IndexModels>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(e => e.FolderName).ClientTemplate("# if (FolderName!=null) { #" +
                "<listleft><img title='' src='" + Url.Content("/RMS/Content/Images/folder.gif") + "'\"/><file-folder-names><a data-role=\"button\" onclick=\"onClickDoc('#: data.ObjectId#', '#: data.objectType#');\" id=\"testa\">#:FolderName#</a></file-folder-names></listleft><listright><img class=\"make-fav vAlign\" src='" + Url.Content("/RMS/Content/Images/u837.png") + "'\"/><img class=\"vAlign object-file-options\" src='" + Url.Content("/RMS/Content/Images/context-menu-down-arrow.png") + "'\"/><div class=\"checkbox\"></div></listright>" +
        "# } else { #" +
        "<listleft># if (IsVirtualDoc==\"1\") { #<img class='show-sub-grid' src-swap='/RMS/Content/Images/virtual-doc-close.png' src='/RMS/Content/Images/virtual-doc-show.png' /># } #<img title='' src=\"#:ImagePath#\"\"/><file-folder-names><a data-role=\"button\" href=\"/RMS/Home/GetDocumentContent?objId=#:ObjectId#\" target=\"_blank\" id=\"testa\">#:DocumentName#</a></file-folder-names><br /><span class=\"details\">#:DocumentSize# bytes <span class=\"paddingLR10\">|</span> #:DocumentCreatedDate# :# if (!(DocumentCreatedby==null)) { # <a href=\"\"> #:DocumentCreatedby# </a> # } #</span></listleft><listright><img class=\"make-fav vAlign\" src='" + Url.Content("/RMS/Content/Images/u837.png") + "'\"/><img class=\"vAlign object-file-options\" src='" + Url.Content("/RMS/Content/Images/context-menu-down-arrow.png") + "'\"/><div class=\"checkbox\"></div></listright>" +

         "# } #"
         );

    })
    .Sortable()    
    .Pageable(pageable => pageable.ButtonCount(5))
    .EnableCustomBinding(true)
    .Scrollable()    
    .ClientDetailTemplateId("template")
    .HtmlAttributes(new { style = "height:400px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(10)
    .Read(read => read.Action("ReadDataonPaging", "Home").Data("additionalInfo"))
    )
    .Events(events => events.DataBound("dataBound"))

如果新的一组数据从同一个URL返回,你可以简单地在客户端调用Grid DataSource的"read"方法,然后向服务器发出新的请求使用来自 "additionalInfo" 函数的附加数据。

这正在使用 javascript

使用不同数据重新加载网格的基本命令:

option 1: use same datasourse

    $('#GridName').data('kendoGrid').dataSource.read();
    $('#GridName').data('kendoGrid').refresh();

option 2: use different datasource: (must be initilized)

    $("#GridName").data("kendoGrid").setDataSource(differentDatasourceInitialized);
    $('#GridName').data('kendoGrid').dataSource.read();
    $('#GridName').data('kendoGrid').refresh();

http://www.telerik.com/forums/grid-datasource-option-vs-setdatasource-method#UbC2YiGq2E2aFa-CnFeh7A

如何发送可选数据以选择要使用或过滤的数据源 ajax 读取可以在图像点击事件和您的 "additionalInfo" javascript 函数中完成

Read(read => read.Action("ReadDataonPaging", "Home").Data("additionalInfo"))

http://www.telerik.com/forums/pass-additional-parameters-to-read-ajax-datasource-method---mvc#6-wwFQboTECQByGUQYKKhw