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

gwo2fgha  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(149)

我目前正在使用Telerik Kendo Grid开发ASP.NET Core MVC应用程序
在网格上,我有如下列:

columns.Bound(x => x.PrimaryContact.EmailAddress)
              .ClientTemplate("#= PrimaryContact ? PrimaryContact.EmailAddress : '' #")

它可以工作,但现在PrimaryContact中的EmailAddress属性显示的是值“null”而不是空格,即:如果PrimaryContact不为空,但其中的属性EmailAddress为空,它会将其显示为空。我该如何解决这个问题?我可以在.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 =数据项.主要联系人.电子邮件地址号码;

if (test === null)
    {
      dataItem.PrimaryContact.EmailAddress.val = "";
    }

控制台返回了3个我想更改但无法替换的值,正如您所看到的,我尝试访问.val属性,但没有成功

kpbwa7wx

kpbwa7wx1#

终于找到了如何实现这一点,你需要迭代表行为:

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 ="";
  }
}

希望这能帮助一些人

相关问题