0

0

Kendo UI OrgChart 节点模板深度解析:实现多信息展示与布局定制

碧海醫心

碧海醫心

发布时间:2025-11-25 17:40:03

|

128人浏览过

|

来源于php中文网

原创

Kendo UI OrgChart 节点模板深度解析:实现多信息展示与布局定制

本教程详细讲解如何通过 kendo ui orgchart 的模板功能,自定义组织图节点以展示多达九个自定义数据字段,并灵活控制节点布局。我们将探讨如何利用 html 模板渲染数据,移除默认头像,从而构建一个满足特定业务需求的高度定制化组织图。

Kendo UI OrgChart 组件默认提供了一种简洁的节点展示方式,通常只包含“姓名”和“职位”等基本信息。然而,在许多实际应用场景中,用户可能需要在一个节点内展示更丰富的业务数据,例如绩效指标、成本数据或其他自定义属性。本文将深入探讨如何利用 Kendo UI OrgChart 的强大模板功能,突破默认限制,实现高度定制化的节点内容与布局。

Kendo UI OrgChart 模板机制概述

Kendo UI OrgChart 提供了 template 属性,允许开发者为每个组织图节点定义自定义的 HTML 结构。通过这个属性,你可以完全控制节点的视觉呈现,包括显示哪些数据字段、如何布局这些字段,以及添加自定义样式等。

template 属性接受一个 HTML 字符串。在这个字符串中,你可以使用 Kendo UI 的模板语法 #: fieldName # 来绑定数据源中对应的字段值。这意味着,只要你的数据源包含所需的字段,你就可以在模板中引用它们并进行展示。

构建自定义节点模板

假设我们有以下 JSON 数据结构,其中包含 item_desc、eoy_target、ytd_plan 等多个需要展示的字段:

[
  {
    "item_id": "195",
    "item_desc": "Fuel Cost",
    "parent_pi_kode": "193",
    "parent_pid_desc": "Blasting Cost",
    "eoy_target": 0.2,
    "eoy_actual": 0.32,
    "ytd_plan": 0.13,
    "ytd_actual": 0.14,
    "achi_pi": 107.69,
    "achi_ia": 0.0,
    "achi_ra": 0.0,
    "achi_ip": 0.0,
    "has_child": true,
    "is_expanded": true
  },
  {
    "item_id": "194",
    "item_desc": "AN Cost",
    "parent_pi_kode": "193",
    "parent_pid_desc": "Blasting Cost",
    "eoy_target": 0.2,
    "eoy_actual": 0.32,
    "ytd_plan": 0.1,
    "ytd_actual": 0.12,
    "achi_pi": 120.0,
    "achi_ia": 0.0,
    "achi_ra": 0.0,
    "achi_ip": 0.0,
    "has_child": true,
    "is_expanded": true
  }
]

我们的目标是在每个节点中展示 item_desc, eoy_target, eoy_actual, ytd_plan, ytd_actual, achi_pi, achi_ra, achi_ip, achi_ia 这九个字段,并移除默认的头像。

以下是如何通过 template 属性实现这一目标的示例代码:

示例代码解析

  1. dataSource 配置:将你的 JSON 数据赋值给 dataSource 属性。Kendo UI OrgChart 会根据 dataValueField 和 dataParentValueField 定义的字段来构建层级关系。在我们的例子中,item_id 作为唯一标识,parent_pi_kode 作为父节点标识。
  2. template 属性:这是实现自定义的关键。
    • 我们定义了一个包含多个 div 和 p 标签的 HTML 结构。
    • class='custom-orgchart-node' 和内部的 node-header、node-body 类用于配合 CSS 进行样式控制。
    • #: item_desc #:通过 #: fieldName # 语法,直接将数据源中的 item_desc 字段值绑定并显示。
    • #: eoy_target # 等:同理,其他字段也以类似方式绑定。
    • 移除头像:由于我们没有在模板中包含 Kendo UI OrgChart 节点模板深度解析:实现多信息展示与布局定制 标签,默认的头像将不会显示。
  3. CSS 样式:为了让自定义节点看起来更专业和易读,我们提供了 .custom-orgchart-node 及其子元素的 CSS 样式。这些样式定义了节点的宽度、内边距、边框、背景色、字体大小和文本对齐方式等。你可以根据自己的品牌或设计指南进行调整。

注意事项与最佳实践

  • 字段匹配:确保 template 中使用的字段名(例如 item_desc, eoy_target)与 dataSource 中的实际字段名完全一致,区分大小写。
  • 布局与可读性:当展示的信息较多时,合理利用 HTML 标签(如 div, p, span)和 CSS 样式来组织内容至关重要。考虑使用网格布局或弹性盒子布局来优化信息展示。
  • 响应式设计:如果你的应用需要在不同设备上运行,请考虑为自定义节点模板添加响应式 CSS 规则,以确保在小屏幕上也能良好显示。
  • 性能优化:对于包含大量节点的复杂组织图,过于复杂的 HTML 模板可能会影响渲染性能。在设计模板时,应在信息丰富度和渲染效率之间找到平衡。
  • 调试:如果模板未能按预期工作,可以使用浏览器的开发者工具检查渲染后的 HTML 结构和 CSS 样式,定位问题。
  • Kendo UI 版本:确保你使用的 Kendo UI 版本支持 OrgChart 组件及其模板功能。

总结

Kendo UI OrgChart 的 template 属性是一个极其强大的功能,它赋予了开发者完全自定义节点外观和内容的能力。通过灵活运用 HTML 结构和 Kendo UI 的数据绑定语法,你可以轻松地将多达九个甚至更多的自定义数据字段整合到组织图节点中,并精确控制其布局,同时移除不需要的默认元素如头像。这使得 Kendo UI OrgChart 能够适应各种复杂的业务展示需求,提供高度定制化的用户体验。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

412

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

524

2023.06.15

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

263

2023.07.27

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

754

2023.07.28

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

539

2023.08.01

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

CSS教程
CSS教程

共754课时 | 20.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号