首页 > 解决方案 > 如何在 Kendo Grid 中将字符串数据类型列作为复选框?

问题描述

我有一个字符串字段IsEnabled,它是字符串。值可以是YesNonull。我将此列绑定到网格列。它按预期工作。但我想在 UI 上将其显示为复选框。对于值 Yes,它应该被选中,或者 No 或 null 它应该被取消选中。用户可以根据用户的操作选中/取消选中。是或否将插入数据库。

我找不到正确的方法,那么处理这种情况的最佳方法是什么?

我尝试通过添加一个布尔字段并根据值是、否或空来设置它。并将该字段绑定到网格。

但我正在寻找一种干净的方法

标签: kendo-uikendo-gridkendo-asp.net-mvctelerik-gridkendo-ui-grid

解决方案


当我在寻找 Kendo MVC 解决方案时,所以我已经实现了它,如下所示。

像这样声明属性。

[UIHint("DropDownTemplate")]
public IsAllowedCls IsAllowed { get; set; }

public class IsAllowedCls
{
    public int IsAllowedKey { get; set; }
    public string IsAllowedValue { get; set; }
}

在 Views\Shared\EditorTemplates 下添加视图创建名为 DropDownTemplate 的视图,其内容如下

@model FxTrader.Models.IsAllowedCls

    @(Html.Kendo().DropDownList()
        .Name("DropDownTemplate")
        .DataValueField("IsAllowedKey")
        .DataTextField("IsAllowedValue")
        .BindTo((System.Collections.IEnumerable)ViewData["IsAllowedData"])
    )

在控制器操作方法中,添加以下代码。

ViewData["IsAllowedData"] = new List<IsAllowedCls>() { new IsAllowedCls { IsAllowedKey = 1, IsAllowedValue = "Yes" },
    new IsAllowedCls { IsAllowedKey = 0, IsAllowedValue = "No" } };

推荐阅读