gpt4 book ai didi

kendo-ui - 将 Treeview 中的复选框与使用远程数据源的复选框绑定(bind)

转载 作者:行者123 更新时间:2023-12-05 01:06:49 25 4
gpt4 key购买 nike

让我在这里布置一个情况。我有一种情况,我需要在表单上显示几个复选框,这些复选框本质上是分层的,其中一些属于一个类别,而另一些属于第二个类别,依此类推。我的第一个想法是使用带有复选框的 KendoUI Treeview 。
我对此有几个问题:

  • 显然会有一种情况,在表单加载时需要检查一些复选框,因为它们来自数据源。当我定义新的 kendo.data.HierarchicalDataSource 时,有一个属性可以让我指定数据源中定义层次结构的属性“ParentID”,以及另一个通知特定项目是否有任何子项目“hasChildren”的属性。我看不到是否有一个名为“checked”的属性或允许以相同方式与数据源正确绑定(bind)的属性。 是否存在,我该如何设置 ?
  • 如果第一个问题的答案是否定的,那么到目前为止我所做的是手动检查 treeview 的 dataBound 事件中的各个复选框,如下所示:

  •     $(e.node).find(":checkbox[isselected='true']").prop("checked", true);

    这样做是通过节点中的复选框并检查它们是否具有名为“isselected”的属性(我使用复选框模板填充)以及该属性是否设置为 true然后选中该复选框。这可以正常工作,但是当我想将复选框发布回服务器时会出现问题。通过上述代码选中的复选框不会反射(reflect)在 Treeview 的数据源中。现在我必须弄清楚如何做到这一点。如果有一个更优雅的解决方案而不是我正在使用的方法,我正在徘徊:手动选中复选框 ->在每个复选框上触发事件以更新其“isselected”属性或 Treeview 数据源 ->发布值获取全部的检查值。

    谢谢你的帮助。

    最佳答案

    在等待有人为此提供智能解决方案的同时,让我添加我发现的内容以使其正常工作,以便我可以帮助遇到相同问题的人。

    请看下面KendoUI forum post并由 KendoUI 团队的 Atanas 回答,他解释了如何访问数据源项并使用适当的属性标记其中的特定项。这对于在用户更改特定复选框的选择后手动更新数据源很有用。

    也看看下面KendoUI forum post有关如何正确构建复选框模板以便正确回发的说明。

    通过这两个技巧,我能够将选中的复选框的 ID 发送回 Controller 。 View 端执行此操作的全部 JavaScript 代码现在大约 80 行代码,包括模型定义。虽然这并不过分,但如果有人可以推荐一种更聪明的方式,那仍然是太多了。

    关于kendo-ui - 将 Treeview 中的复选框与使用远程数据源的复选框绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19443683/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com