gpt4 book ai didi

javascript - Kendo Grid,在 dataBound 调用中访问原始绑定(bind)线

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

在kendo ui网格中,在dataBound调用中,您可以使用以下访问原始数据

e.sender.dataSource._data

这看起来仅供内部使用,并且它不会告诉您哪个数据行用于生成当前行

我的问题是,是否有任何方法可以访问此调用中的原始数据?

我可以想到两种方法,但都不理想

(1) 将一些数据粘贴到单元格中并使用下面的方法访问它

var rows = this.tbody.find("tr.k-master-row");
var innerHTML = row.cells[row.cells.length -1].innerHTML;

您可以在此处放置一个 Guid 并使用它来查找原始行

(2) 如上所述,但 json 对其进行编码,以便您得到一个要处理的对象,json 对象将包含所需的所有内容

有更好的方法吗?

顺便问一下,我想实现什么目标?我绑定(bind)的行有一个覆盖 cssclass 的行,用于控制行的 tds 样式。我在 dataBound 调用中设置它。可能有更好的方法来实现这一点

谢谢

<小时/>

OnaBai 已经回答了这个问题,具体内容如下。注意,我并不是说这是一般情况下执行此操作的最佳方法,在我的具体示例中,它只是更简单

dataBound: function(e) 
{
for(var i=0; i<rows.length; i++)
{
var row = rows[i];

var dataSourceRow = this.dataSource.getByUid($(row).attr("data-uid"));
$(row).addClass(dataSourceRow.RowCssClass);
}
}

最佳答案

实际上有这样的GUID。每行都有一个名为 uid 的唯一 id 字段,可以通过 uid 成员在模型中访问,也可以通过执行 row.attr("data- uid") 或使用 jquery.data .

所以,如果你有行元素,它会是这样的:

var item = this.dataSource.getByUid($(row).data("uid"));

或者即使 row 已经是一个 jQuery 对象,那么:

var item = this.dataSource.getByUid(row.data("uid"));

关于javascript - Kendo Grid,在 dataBound 调用中访问原始绑定(bind)线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25744554/

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