如何为 Kendo TreeList parentID 和 hasChildren 使用自定义字段
Posted
技术标签:
【中文标题】如何为 Kendo TreeList parentID 和 hasChildren 使用自定义字段【英文标题】:How to use custom fields for Kendo TreeList parentID and hasChildren 【发布时间】:2015-11-22 12:50:30 【问题描述】:我只花了 4 天时间研究如何做到这一点,因为它不在文档中,而且我无法从 Telerik 获得任何支持,即使我是付费客户,就这个问题提交了支持票。公平地说,Telerik 我认为这是由于一项非常糟糕的支持技术,他们通常非常好。 Telerik 如果您阅读检查票号:964961、962272。让我们希望下次有更好的回应。
希望这可以为其他人节省 4 天...这是我遇到的问题以及我如何解决它。
我正在使用 Kendo TreeList 进行按需加载场景。我们有自己的请求管理器来处理与服务器的所有事务,因此我们在 Kendo 数据源的读取传输上使用 JS 函数,并使用 options.success(aData) 将从服务器返回的数据放入数据源中。
我们有调用 mysql procs 的 php 路由,MySQL 将所有内容都作为字符串返回,因此当 PHP 将结果转换为 JSON 时,所有非空值都作为字符串发送。这包括 hasChildren 字段。
通常这不是问题,因为 Kendo 数据源会根据数据源模式中定义的类型正确键入值。 但是我发现在将数据分配给数据源后,所有的 hasChildren: "true" 值都会被转换为 hasChildren: false,因此对于有子项的按需加载项,TreeList 上不会显示展开按钮.
所以我需要一种将 hasChildren 字段映射到类型化字段的方法,这样才能实现从字符串到布尔值的转换。
我终于开始工作了:
"OpParent":
"type": "number",
"nullable": true
,
"parentId":
"type": "number",
"field": "OpParent",
"defaultValue": null
,
"OpHasChildren":
"type": "boolean",
"nullable": true
,
"hasChildren":
"type": "boolean",
"field": "OpHasChildren"
我还发现如果你的根级父级的值为null,则需要在parentID定义中将defaultValue设置为null。
希望这可以节省一些人解决这个问题的时间。
Telerik,请把这个放在文档中!!
问候,
斯科特
【问题讨论】:
【参考方案1】:问题就是答案 ;-)
但是对于那些想在答案中看到答案的人......这里是:
我终于开始工作了:
"OpParent":
"type": "number",
"nullable": true
,
"parentId":
"type": "number",
"field": "OpParent",
"defaultValue": null
,
"OpHasChildren":
"type": "boolean",
"nullable": true
,
"hasChildren":
"type": "boolean",
"field": "OpHasChildren"
我还发现如果你的根级父级的值为null,你需要在parentID定义中将defaultValue设置为null。
希望这可以节省一些人解决这个问题的时间。
【讨论】:
这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。 @NullReference 只是为了让你开心,伙计......对于其他任何看不懂问题就是答案的人,我已经在答案中添加了答案.....跨度>以上是关于如何为 Kendo TreeList parentID 和 hasChildren 使用自定义字段的主要内容,如果未能解决你的问题,请参考以下文章
kendo ui 查找treelist里的子控件并设置是否显示的方法