kendo-grid - 单击行内的图像图标时获取 kendo MVC 网格行数据
问题描述
请找到上面的图片。在上面的第一次记录图像中,有一个历史图像。第二行没有历史图像。
所以这是我的要求。
当我单击该历史图标时,我想将资源名称、部门、项目、费用描述传递给操作并获取该记录的历史值。我想在模型弹出的网格中显示这些历史值。在我的处理程序方法中,我如何获取当前的剑道网格行数据。
下面是我的代码。
columns.Bound(p => p.HoursYTD).Width(70).Filterable(false).Editable("function() {return false;}").ClientFooterTemplate("#=kendo.toString(sum, '0,0')#").HtmlAttributes(new { style = "font-weight: bold; text-align: center;" })
.HeaderHtmlAttributes(new { style = "white-space: normal; text-align: center;font-weight: bold;" }).
ClientTemplate("#= DisplayImage(data) #");
<script>
function DisplayImage(product) {
//alert(product.IsHistory);
//alert(product.HoursYTD);
//var action = '@Url.Action("ProductDetails", "Product")';
if (product.IsHistory=="Yes")
var html = kendo.format(product.HoursYTD +"<img src='/Images/" + product.IsHistory + ".png' height='22' width='22' onclick='myHandler(event)'");
else
var html = kendo.format("<div>"+product.HoursYTD+"</div>");
return html;
}
function myHandler(e) {
alert("hello");
}
</script>
解决方案
通过将 TR HTML 元素传递给网格的dataItem() 方法来访问底层数据项:
function myHandler(e) {
var row = $(e.target).closest("tr");
var dataItem = $("#grid").getKendoGrid().dataItem(row); // swap 'grid' with the name of your grid
// access properties via dataItem.FieldName;
}
推荐阅读
- php - 分块显示大数据 - PHP
- angular - 延迟加载存在问题。我在子路由方面遇到了一些问题
- angular - 仅在以角度刷新页面后才会显示来自 api 的数据
- java - wifip2pManager.discoverPeers() 在 ANDROID 10 中失败,尽管使用了运行时权限并且也在清单中
- python - 如何在 2 个模型之间找到相似的预测 x?
- java - Amazon S3 Select 问题:不支持在字段内发生换行符
- java - 为什么我需要一个独立的存储库的片段接口?
- javascript - java: 包 netscape.javascript 不存在,尽管已将 plugin.jar 添加到类路径
- angular - Angular 7/Typescript -Sort 以特定顺序选择下拉选项
- r - 日期数据集与 R 中的时间线争吵