Kendo Grid控件中将枚举值转为枚举名显示
我们在开发过程中经常会遇到需要将枚举值转换成名称进行显示的情况。如下我们有这样一个数据源对象:
var users = [
{id: 1, name: "similar1", status: 1},
{id: 2, name: "similar2", status: 2}
];
其中字段 status 代表的是用户的状态, 1 代表 “可用”, 2 代表 “禁用”。我们使用 kendo grid 常规配置如下:
columns: [
{ field: "id", title: "编号" },
{ field: "name", title: "用户名" },
{ field: "status", title: "状态" }
],
对应的效果如下图所示:

由上图可见,我们的状态那一列直接就是显示的数字 1,2 ,这并不是我们想要的结果。我们需要的是将1,2分别转换成文字:可用,禁用。起初我想到的是通过 template 进行条件判断,当 status 为1时,显示 可用, 为2时, 显示 禁用。 代码如下:
columns: [
{ field: "id", title: "编号" },
{ field: "name", title: "用户名" },
{ field: "status", title: "状态", template: "#= (status == 1) ? '可用' : '禁用' #" }
] // 或者 columns: [
{ field: "id", title: "编号" },
{ field: "name", title: "用户名" },
{ field: "status", title: "状态", template: "#if (status == 1) {# 可用 #}else{# 禁用 #}#" }
]
之后觉得这种方法太烂了,自己似乎接受不了。这种模板判断的方式维护性太低了,哪天如果加了几个状态,那就得写一堆的if。因此又去查找官方api文档,想寻找更好的解决方案,于是就有以下的收获,代码如下:
//1. 首先我们定义一个类似枚举功能的对象
var statusEnum = [
{text: "可用", value: 1},
{text: "禁用", value: 2}
] //2. 之后对kendo grid中的配置做如下调整
columns: [
{ field: "id", title: "编号" },
{ field: "name", title: "用户名" },
{ field: "status", title: "状态", values: statusEnum }
]
做完上面2步就ok了,这种方式是不是更容易被接受呢? 维护起来比之前简单了,看着也明了.....
Kendo Grid控件中将枚举值转为枚举名显示的更多相关文章
- Grid控件
Grid控件是WPF布局容器中功能最强大.最灵活的控件.Grid控件基本上能够完成其他WPF容器控件所能完成的功能,Microsoft建议大多数界面的布局都使用Grid控件来实现,因此默认情况下.vs ...
- 完全使用一组 DSL 来操作 Grid 控件
最近尝试了一下将 XtraGrid 的初始化工作封装成内部 DSL,例如一个普通的基础数据的增删改查操作的代码会像下面这样: public partial class UserForm : XtraF ...
- wpf研究之道-grid控件
想要说些什么,却不知道从哪开始."形而上谓之道,形而下谓之器".与其坐而论道,不如脚踏实地,从最实用的地方开始. 我们先来看看wpf中的grid控件.grid控件是个网格的布局控件 ...
- WPF-学习笔记 动态修改控件Margin的值
原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_gri ...
- FineUI Grid控件高度自适应
引言 页面里使用f:Grid控件,添加分页功能,然后高度填充整个页面. 如何使用 使用FineUI 控件的每个页面都有一个f:PageManager控件,它包含属性:AutoSizePanelID,设 ...
- WPF平台Grid控件性能比较
WPF官方发布第一个版本至今已经有10年了, 我们几乎在同时也开始了XAML开发.即使经过多年打造,我们依旧尝试提高:我们真的成功打造了高效灵活的控件吗?我没有在其他地方找到任何关于优秀的WPF表格性 ...
- python通过win32api轻松获取控件的属性值
1.如何利用句柄操作windows窗体 首先,获得窗体的句柄 win32api.FindWindows() 第二,获得窗体中控件的id号,spy++ 第三,根据控件的ID获得控件的句柄(hwnd) ...
- FineUI Grid控件右键菜单的实现
FineUI官方Demo上一直没有Grid右键菜单的实现,其实从4.1.x的版本开始,允许添加自定义的事件监听(Listeners),所以要实现这个功能已经相当容易了. ExtJs右键菜单有很多种,对 ...
- 实现控件WPF(4)----Grid控件实现六方格
PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘.目前又不当COO,还是得用心记代码哦! 利用Grid控件能很轻松帮助我们实现各种布局.上面就是一个通过Grid单元格 ...
随机推荐
- SQL将原始数据进行MD5加密转存
先来描述下情况吧,首先有一批用户之前批量录入后默认的密码为6个8然后进行MD5加密后进行存储的,现在需要对其更改根据用户身份证号后6位作为密码. 1.首先发现我们sqlserver05以上的版本是自带 ...
- Deep Learning (中文版&英文版)
Bengio Yoshua,Ian J. Goodfellow 和 Aaron Courville共同撰写的<深度学习>(Deep Learning)是一本为了帮助学生及从业者入门机器学习 ...
- Selenium自动化测试Python一:Selenium入门
Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件 ...
- Javac中的方法
例1: interface IA{ void m(int a); } abstract class AC implements IA{ // 这个抽象方法覆盖了 IA中的方法m public abst ...
- sublime自动对齐Alignment插件快捷键
[ { "keys": ["ctrl+alt+f"], "command": "alignment" } ]
- 安装Windows 8.1过程中出现的各种问题(无损从MBR转GPT磁盘、不能定位已有分区)
这个周末就安装了个系统,本以为一个小时就能搞定,没想到花费了将近一天. 我的机子是6G内存.500G硬盘,原装系统是Windows 7,现在想换成Windows 8.1,于是下载了64位的Window ...
- 利用VS(Visual Studio)自带的工具查看DLL文件的信息
装完VS后,就可以使用其自带的dumpbin命令来查看DLL文件的信息, 首先要打开VS的Developer Command Prompt命令窗口,打开不同版本的VS可能略有不同, 请参考:http: ...
- WebLogic 12c Linux 命令行 安装
最近负责在Linux上安装WebLogic Server 12c,客户说要安装最新的版本,版本号为 12.1.X(12.1.2,12.1.3).开始以为和旧版安装一样,使用控制台的方式,下载bin文件 ...
- 团队作业6——展示博客(alpha阶段)
Deadline: 2018-5-9 10:00PM,以提交至班级博客时间为准. 5.10周四实验课将进行alpha阶段项目复审,请在5.10之前,根据以下要求,完成alpha版本的展示,并以此作为参 ...
- FFmpeg简易播放器的实现-音视频播放
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10235926.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...