首页 > 解决方案 > 突出显示 ASP.NET Core 的 Kendo UI Grid 中的空单元格

问题描述

我正在尝试在任何列中突出显示我的 Kendo UI Grid 中的空单元格

我已经尝试过这段代码,但它只适用于列

function onDataBound(e){
      var rows = e.sender.element.find("tr");

      $(rows).each(function(ev){
        var dataItem = e.sender.dataItem(this); 
        if(dataItem.OrderID > 10250){
          var index = $(".k-grid th[data-field='OrderID']").index();
          $(this).find("td:eq("+index+")").css("background-color", "red");
        }
      });
    }

这是网格控制代码

 <div>
@(Html.Kendo().Grid<TelerikAspNetCoreApp1.Models.tableMapping>
()
.Name("Reschedule")
.DataSource(datasource => datasource
.Ajax()
.Sort(sort => sort.Add("DateTime_Out").Descending())
.ServerOperation(true)
.Read(read => read.Action("List2", "Reschedule"))
.PageSize(10)
).Pageable(pager => pager.PageSizes(new int[] { 5, 10, 25, 50, 100 }))
.Sortable()


.Events(events => events
.DataBound("onDataBound"))
.ToolBar(tools => tools.Excel())
.Excel(excel => excel
    .AllPages(true))

)
 </div>

无论如何要检查整个表格(所有单元格)并突出显示那些为空的?

标签: javascripttelerikkendo-grid

解决方案


您可以仅使用 jquery 遍历表中的所有单元格(除了利用 onDataBound 事件之外没有剑道),如果它没有任何值,则将颜色更改为红色。

function onDataBound(e){
    $("#Reschedule td").each(function() {
        if ($(this)[0].innerText==="")
           $(this).css("background-color", "red");
    });

}

推荐阅读