将网格列值从null更改为字符串空



我目前正在开发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 ="";
}
}

希望它能帮助

最新更新