【问题标题】:Kendo treeview with checkboxes带有复选框的剑道树视图
【发布时间】:2014-09-19 15:35:27
【问题描述】:

我正在为 MVC Razor 应用程序使用带有复选框的 Kendo UI 树视图,问题是,当我取消选中子节点时,父节点并未取消选中。但是当父节点被选中时,所有子节点都会被自动选中。 任何帮助表示赞赏。

 @{Html.Kendo().TreeView()
                    .ExpandAll(false)
                    .Name("PrivelegeTreeView")
                    .Checkboxes(checkboxes => checkboxes
                               .Name("checkedFiles")
                               .CheckChildren(false)
                                )

                    .BindTo(ViewBag.TreeViewModel as IEnumerable<Kendo.Mvc.UI.TreeViewItemModel>, mappings =>
                    {
                        mappings.For<Kendo.Mvc.UI.TreeViewItemModel>(binding => binding
                                .ItemDataBound((item, roleItem) =>
                                {
                                    item.Text = roleItem.Text;
                                    item.Id = roleItem.Id;
                                    item.Checked = roleItem.Checked;
                                })
                                .Children(a => a.Items));
                        mappings.For<Kendo.Mvc.UI.TreeViewItemModel>(binding => binding
                        .ItemDataBound((item, roleItem) =>
                        {
                            item.Text = roleItem.Text;

                        }));
                    }).Render();
        }

【问题讨论】:

    标签: asp.net-mvc kendo-ui


    【解决方案1】:

    您可以查看完整的ASP.Net MVC Kendo Tree View 示例Here

    问题可能是CheckChildren。因此,只需将 false 设置为 true。如下所示。

    .Checkboxes(checkboxes => checkboxes
            .Name("checkedFiles")
            .CheckChildren(true)) // false to true
    

    确保您已检查父级的所有child check boxes。然后只会选中父复选框。

    更新:

    您可能还需要以下代码。 To make checked or unchecked.

        .ItemAction(item =>
        {
            item.Checked = Model.Contains(item.Id);
        })
    

    【讨论】:

    • 我已使用上面共享的链接创建树视图,但 .CheckChildren(true) 也无法正常工作。
    • 我不清楚您的代码中发生了什么。但您可能需要检查/比较Local-data-bindingCheck Boxes。另请参阅我的更新
    • 唯一面临的问题是,当我们检查父节点时,所有的子节点都会被检查,这是完美的!但是当一个子节点未被选中时,父节点未被选中,这在更新计数时给了我错误的值
    • 是的,我很清楚。但不清楚代码内部发生了什么问题。因为我从来没有调试过你的代码。
    【解决方案2】:

    我必须编写一个自定义脚本来根据选择来选中和取消选中复选框。

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多