我目前正在开发ASP。Net Core MVC应用程序与Telerik剑道网格
在网格上,我有这样的列:
columns.Bound(x => x.PrimaryContact.EmailAddress)
.ClientTemplate("#= PrimaryContact ? PrimaryContact.EmailAddress : '' #")
它起作用,但现在PrimaryContact内的属性EmailAddress
显示值"0";空";而是空格,即:如果PrimaryContact不为null,但其中的属性EmailAddress为null,则显示为null。我该如何解决?我可以在.ClientTemplate
中添加一些内容吗?或者可以将jquery上的所有空值替换为空格吗?
当前jquery:
function onDataBound(e) {
const grid = this;
grid.table.find("tr").each(function () {
const dataItem = grid.dataItem(this);
const text = dataItem.IsActive ? 'Active' : 'Inactive';
if (dataItem.IsActive) {
//code here
}
else {
//code here
}
});
更新
我访问属性为:
const-test=dataItem。主要联系人。电子邮件地址号码;
if (test === null)
{
dataItem.PrimaryContact.EmailAddress.val = "";
}
控制台返回我想更改的3个值,但我无法替换它们,正如你所看到的,我尝试访问.val属性,但它不起作用
最终找到了如何实现这一点,您需要将表行迭代为:
const rows = e.sender.tbody.children();
for (let i = 0; i < rows.length; i++) {
const row = $(rows[i]);
const dt = e.sender.dataItem(row);
const emailAddress = dt.get("PrimaryContact.EmailAddress");
if (emailAddress === null) {
row[0].cells[4].innerHTML ="";
}
}
希望它能帮助