在一个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对象将包含所需的一切
有更好的方法吗?
顺便说一下,我想要完成什么?我绑定的行有一个覆盖cssclass,用于控制行的tds样式的行。我在dataBound调用中设置它。可能有更好的方法来实现这个
感谢
OnaBai已经回答了这个问题,这里有具体细节。 NB我不是说这是一般的最佳方式,在我的具体例子中它更容易
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);
}
}
答案 0 :(得分:1)
实际上有GUID
。每行都有一个名为uid
的唯一ID字段,可以通过uid
成员在模型中访问,也可以通过row.attr("data-uid")
或jquery.data
在HTML级别访问。
所以,如果你有你的行元素,那就像是:
var item = this.dataSource.getByUid($(row).data("uid"));
或者即使row
已经是jQuery对象,那么:
var item = this.dataSource.getByUid(row.data("uid"));