ExtJS4.2学习(八)表格限制输入数据的类型

简介:

如何软件和系统都会对输入的数据类型进行限制。Ext提供了多种数据类型的组件,比如NumberField限制只能输入数字,ComboBox限制只能输入备选项,DateField限制只能选择日期,CheckBox则限制从true和false中选择其一,等等。
效果:

6f689c091b5b081c67457acaaba5cd92.jpg
选择列:
6bc1f4db8430aa8a75d443c273bf2275.jpg
日期列:
02bb5c4b5bb9080f1c57b78aabbc6c2b.jpg
判断列:
7a1b1a78d5f41c0c348f64dfcfe4469c.jpg
现在我们来修改之前的数据,让数据类型变得更丰富,如下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Ext.onReady( function (){
     var  comboData=[
                    [ '0' , '新版ext教程' ],
                    [ '1' , 'ext在线支持' ],
                    [ '2' , 'ext扩展' ]
                    ];
     var  columns = [{
         header: '数字列' ,
         dataIndex: 'number' ,
         editor: new  Ext.form.NumberField({
             allowBlank:  false ,
             allowNegative:  false ,
             maxValue: 10
         })
     },{
         header: '选择列' ,
         dataIndex: 'combo' ,
         editor: new  Ext.form.ComboBox({
             store:  new  Ext.data.SimpleStore({
                 fields:[ 'value' , 'text' ],
                 data: comboData
             }),
             emptyText:  '请选择' ,
             mode:  'local' ,
             triggerAction:  'all' ,
             valueField:  'value' ,
             displayField:  'text' ,
             editable:  false
         }),
         renderer:  function (value){
             return  comboData[value][1];
         }
     },{
         header: '日期列' ,
         dataIndex: 'date' ,
         editor: new  Ext.form.DateField({
             format:  'Y-m-d' ,
             minValue:  '2007-12-14' ,
             disabledDays: [0, 6],
             disabledDaysText:  '只能选择工作日'
         }),
         renderer:  function (value) {
             return  Ext.Date.format(value,  "Y-m-d" );
         }
     },{
         header: '判断列' ,
         dataIndex: 'check' ,
         editor: new  Ext.form.Checkbox({
             allowBlank:  false
         }),
         renderer: function (value) {
             return  value ?  '是'  '否' ;
         }
     }];
     // 放到grid里显示的原始数据
     var  data = [
         [1.1,1, new  Date(), true ],
         [2.2,2, new  Date(), false ],
         [3.3,0, new  Date(), true ],
         [4.4,1, new  Date(), false ],
         [5.5,2, new  Date(), true ]
     ];
           
       
     var  store =  new  Ext.data.ArrayStore({
         data: data,
         fields: [
             {name:  'number' },
             {name:  'combo' },
             {name:  'date' },
             {name:  'check' }
         ]
     });
     store.load();
       
     var  grid =  new  Ext.grid.GridPanel({
         autoHeight:  true ,
         renderTo:  'grid' ,
         store: store,
         columns: columns,
         selType:  'cellmodel' ,
         plugins: [
             Ext.create( 'Ext.grid.plugin.CellEditing' , {
                 clicksToEdit: 1
             })
         ]
     });
});

大家仔细研究一下渲染函数renderer。经常有人会遇到EditorGrid里的ComboBox无法正常显示数据的情况,其实,这是因为少了这个renderer函数。当没写这个函数时,显示的数据是value值,而不是text。毕竟Editor里的编辑器只在实际编辑时起作用,表格与editor质检共享的是数据,显示层都要依靠各自的实现。不够这样做更灵活,不需要两者都使用一样的显示方式。



本文转自shyy8712872 51CTO博客,原文链接:http://blog.51cto.com/shuyangyang/1334068,如需转载请自行联系原作者


相关文章
|
存储 XML Java
Spring中service层与存储过程的事务回滚
Spring中service层与存储过程的事务回滚
449 0
|
4天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
293 116
|
19天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
6天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
443 43
Meta SAM3开源:让图像分割,听懂你的话
|
13天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
681 221
|
1天前
|
Windows
dll错误修复 ,可指定下载dll,regsvr32等
dll错误修复 ,可指定下载dll,regsvr32等
132 95
|
11天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1674 158