【问题标题】:Reverse checkbox value so that checked is false in the model反转复选框值,以便在模型中选中为 false
【发布时间】:2015-10-15 10:59:52
【问题描述】:

我有一个 Kendo TreeView,我需要在其中反转复选框的视觉呈现。所以值 false 将导致选中复选框。

这样做的原因是树列表列出了一堆应该排除的项目。因此,当他们检查某些内容时,它会被排除在外。这不是很直观。

更改保存此排除列表背后的逻辑确实是我想避免的事情。相反,我宁愿只是改变数据的视觉呈现。这样checked=false 将导致选中复选框,反之亦然。

这就是我正在使用的东西

@(Html.Kendo().TreeView()
    .Name("Tree")
    .Checkboxes(c => c.Name("Checked"))
    .BindTo((IEnumerable<TreeViewModel>)ViewBag.Tree, mappings =>
    {
        mappings.For<TreeViewModel>(binding => binding.ItemDataBound((item, vm) =>
        {
            item.Id = vm.Id.ToString();
            item.Text = vm.Name;
        })
        .Children(vm => vm.Children));
    });
)

【问题讨论】:

    标签: javascript checkbox kendo-ui kendo-treeview


    【解决方案1】:

    您可以根据传递的项目设置“Checked”属性,如下所示:

      mappings.For<TreeViewModel>(binding => binding.ItemDataBound((item, vm) =>
        {
            item.Id = vm.Id.ToString();
            item.Text = vm.Name;
            item.Checked = vm.Checked ? false : true;
        })
    

    【讨论】:

    • 这很聪明:)
    • 我现在意识到我没有指定这个。但是另一种方式呢?所以保存的时候我需要把它翻回来。
    • 如果您使用表单将值发布到服务器,那么您可以在将更改应用到数据库之前将它们翻转回服务器端。
    猜你喜欢
    • 2019-09-27
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    相关资源
    最近更新 更多