gpt4 book ai didi

javascript - 使用服务器绑定(bind)时,如何从 Kendo 网格选定行获取数据?

转载 作者:行者123 更新时间:2023-12-03 11:11:41 28 4
gpt4 key购买 nike

我有一个 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 绑定(bind)。

我尝试了解决方案 herethis.dataItem 始终返回 null。我还尝试使用对 Kendo 网格的引用而不是 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;
}

这看起来应该很简单,但我不知所措。有什么想法吗?

最佳答案

查询数据项时您错过了剑道网格元素:

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;
}

祝你好运!

关于javascript - 使用服务器绑定(bind)时,如何从 Kendo 网格选定行获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27553987/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com