You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何隐藏在detailInit(子网格)中出现的Kendo Tooltip?

问题修复方案

这个问题是因为Tooltip的默认匹配规则没有区分主网格和子网格的单元格,以下是3种可直接落地的实现方案:

方案1:调整Tooltip过滤规则,仅作用于主网格

初始化Tooltip时增加选择器限制,只匹配主网格内的目标列单元格,子网格节点不会命中规则:

// 原错误写法(没有区分主/子网格)
$("#grid").kendoTooltip({
  filter: "td[role='gridcell'][aria-label*='First Name']",
  content: function(e) {
    return "自定义提示内容";
  }
});

// 修改后写法(仅匹配主网格单元格)
$("#grid").kendoTooltip({
  // 通过k-master-row类限制只命中主网格的行
  filter: ".k-master-row td[role='gridcell'][aria-label*='First Name']",
  content: function(e) {
    return "自定义提示内容";
  }
});

如果你的主网格没有自带k-master-row类,也可以给主网格手动加自定义类名main-grid,过滤规则修改为.main-grid td[aria-label*='First Name']即可。

方案2:在内容回调中判断节点归属,子网格返回空

如果不想修改过滤规则,可以在生成提示内容前判断当前单元格所属的网格类型,子网格直接返回空内容,Tooltip就不会渲染:

$("#grid").kendoTooltip({
  filter: "td[role='gridcell'][aria-label*='First Name']",
  content: function(e) {
    // 判断当前单元格是否属于子网格
    const isChildGrid = $(e.target).closest(".k-grid").parent().hasClass("k-detail-cell");
    if (isChildGrid) return "";
    // 主网格正常返回提示内容
    return "自定义提示内容";
  }
});

方案3:给子网格列加专属类,过滤时直接排除

初始化子网格时,给子网格的First Name列加自定义类,Tooltip过滤规则直接排除这类单元格:

// 子网格列配置
columns: [
  {
    field: "FirstName",
    title: "First Name",
    // 新增自定义类标识子网格列
    attributes: {
      class: "child-grid-name-col"
    }
  }
]

// Tooltip过滤规则排除子网格列
$("#grid").kendoTooltip({
  filter: "td[role='gridcell'][aria-label*='First Name']:not(.child-grid-name-col)",
  content: function(e) {
    return "自定义提示内容";
  }
});

内容的提问来源于stack exchange,提问作者dontbannedmeagain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:36:03