繁体   English   中英

使用服务器绑定时,如何从Kendo网格选择的行中获取数据?

[英]How can I get the data from a Kendo grid selected row when using server binding?

我有一个Kendo网格,每行都有一个按钮,单击该按钮时,我希望触发该URL动作来下载PDF文件。 为了做到这一点,我需要将数据ID传递给URL操作,但是在获取引用时遇到很多麻烦。 这是我的表定义:

@(Html.Kendo().Grid(Model.revisions)
                    .Name("RevisionsGrid")
                    .Columns(columns =>
                    {
                        columns.Bound(p => p.RevisionInfo.RevisionDate).Title("Date Modified");
                        columns.Bound(p => p.RevisionInfo.User.Name).Title("By User");
                        columns.Command(command => command.Custom("ViewPdf").Text("View PDF").Click("getPdf"));
                    })
                    .Sortable()
                    .Selectable()
                    .Events(e => e.Change("selection_change"))
                    .Pageable(p => p.PageSizes(new[] { 5, 10, 25 }))
                    .DataSource(dataSource => dataSource
                    .Server()
                    .Model(model => model.Id(p => p.RevisionInfo.Id)))

我需要对模型的RevisionInfo.Id的引用。 我不想将其更改为Ajax绑定。

我在这里尝试了解决方案但是this.dataItem始终返回null。 我使用的剑道电网,而不是一个参考也试过this具有相同的结果。

function getPdf(e) {
    e.preventDefault();
    var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
    var revisionId= dataItem.RevisionId;

    window.location.href = "@Url.Action("GetPdf","Reports")?revisionId=" + revisionId; 
    }

这似乎很简单,但我很茫然。 有任何想法吗?

查询数据项时错过了kendo网格元素:

function getPdf(e) {
   e.preventDefault();
   var dataItem = $("#RevisionsGrid").data("kendoGrid").dataItem($(e.currentTarget).closest("tr"));
   var revisionId= dataItem.RevisionId;

   window.location.href = "@Url.Action("GetPdf","Reports")?revisionId=" + revisionId; 
}

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM