Kendo ui 将剑道网格的值传递到弹出窗口
我在MVC5页面中实现了剑道网格和上下文菜单。单击“更新状态”菜单打开一个窗口。我需要从弹出窗口中选定的行中检索requestid和几个其他字段。我还需要显示一个带有值的下拉控件。最好的方法是什么 网格 JavascriptKendo ui 将剑道网格的值传递到弹出窗口,kendo-ui,asp.net-mvc-5,kendo-grid,Kendo Ui,Asp.net Mvc 5,Kendo Grid,我在MVC5页面中实现了剑道网格和上下文菜单。单击“更新状态”菜单打开一个窗口。我需要从弹出窗口中选定的行中检索requestid和几个其他字段。我还需要显示一个带有值的下拉控件。最好的方法是什么 网格 Javascript function onSelect(e) { var grid = $("#GridTeam").data("kendoGrid"); var requestId; switch ($(e.item).children("
function onSelect(e) {
var grid = $("#GridTeam").data("kendoGrid");
var requestId;
switch ($(e.item).children(".k-link").text()) {
case "Edit":
var grid = $("#GridRequest").data("kendoGrid");
var column = grid.columns[0];
var selectedBackup = grid.dataItem(grid.select());
requestId = selectedBackup.id;
window.location.href = '@Url.Action("EditRequest", "Request", new { id = "_id_", status="Edit" })'.replace('_id_', requestId);
break;
case "Update Status":
//alert("Work in progress");
//$('#window1').data('kendoWindow').center().open();
var myWindow = $("#window");
//e.preventDefault();
//var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
//kendo.bind($("#window"), dataItem);
myWindow.kendoWindow({
width: "400px",
height: "180px",
title: "Update Request Status",
modal: true,
visible: false,
actions: ["Minimize", "Maximize", "Close"],
}).data("kendoWindow");
myWindow.data("kendoWindow").center().open();
}
你做得几乎正确,只有两个细节:
#GridRequest tbody TR
e.currentTarget
在该上下文中不存在或返回undefined
。您应该使用e.target
,如果按照我上面的建议操作,它将指向单击的行。然后,您可以按如下方式获取数据项:
grid.dataItem(e.target);
#GridRequest tbody TR
e.currentTarget
在该上下文中不存在或返回undefined
。您应该使用e.target
,如果按照我上面的建议操作,它将指向单击的行。然后,您可以按如下方式获取数据项:
grid.dataItem(e.target);
检查我的建议是否有效。如果我添加.Target(#GridRequest tbody tr),我的上下文菜单将停止working@Tom好吧,那太好了。我认为它会像javascript api一样工作。相当地strange@Tom但是,如果您将选择一个网格行作为使用菜单操作的要求,您可以使用我在演示中所做的另一个建议,即获取网格的选定行而不是菜单的目标元素。我尝试了您的示例,但您也使用了#grid tbody tr。那么,如果我添加.target,这对我有何作用(“#GridRequest tbody tr”),我的上下文菜单停止working@Tom,好吧,那太好了。我以为它会像javascript api一样工作。是的,非常好strange@Tom但是,如果您需要选择一个网格行作为使用菜单操作的要求,您可以使用我在演示中所做的另一个建议,即获取网格的选定行而不是菜单的目标元素足够了,但您也使用了#grid tbody tr。那么这对我来说如何
grid.dataItem(e.target);