1.日期选择框和日期字段日期选择框在日常项目中应用广泛,便捷的日期输入机制可以大大提升用户体验。js的DateField非常友好、灵活、强大。您可以使用以下代码创建一个新的日期选择框:复制代码如下:新的ext . form . datefield({ id : ' dilverydate ',format:' y,m,month and d ',Minvalue:新的日期(),minvalue 3360 ' 1900-01-01 ',disabledays :[0,6],DisabledDaystext3360 '不选择此日期',fieldLabel: ' Select
请注意,默认情况下,此日历以英语显示。如果需要显示中文,需要引入一个区域文件:script type=' text/JavaScript ' src=' http : ext-3 . 1 . 0/src/locale/ext-lang-zh _ cn . js '/script应该和其他控件类似。2.html编辑器,HTML编辑器使客户能够编辑HTML文档。启用HTML编辑器非常简单,几乎不需要额外的配置。默认的非常有用:复制代码如下: new ext . form . html editor({ id : ' html content ',autoheight : false,width :500,field label : ' html editing ' })(9501 . 163.com)。
不幸的是,这个编辑器不支持图片和文本的混合排列,但它对于轻量级应用程序仍然非常有用。如果需要图文混合,最好使用专门的第三方插件。3.ComboBox这是一个重量级控件,因为它在实际应用中发挥了广泛而重要的作用。虽然它的使用频率不如TextField,但它的功能比TestField丰富得多,所以在后面介绍。js的ComboBox具有下拉提示和自动完成功能,还支持本地和服务器数据源。让我们从一个本地数据源的例子开始。本地数据源可以放在ArrayStore中,这是一种类似于数组的结构。例如,您可以如下定义store:的以下副本代码: varstore=new ext . data . arraystore({ field s :[' name ',' code'],data :[' development department ',1],['administration department ',2],['sales department ',3]。您可以添加一个组合框,var my form=new ext . form panel({ apply to : ' my form ',title : '带有本地数据源的组合框'),height : 200,width: 300,frame: true,labelSeparator: ' : ',labelWidth: 60,labelAlign: 'right ',Items 3:[new ext . form.combobo]。更重要的配置项是displayField,它对应于数据存储中的字段,用于指定要显示的字段。模式,在这里是本地的,代表本地数据源。TypeAhead表示是否自动完成,forceSelection表示是否只允许用户在下拉列表中输入数据。效果如下。下图显示了自动完成。我只在输入框输入了“开”字:。
使用远程数据是类似的,但是我们必须首先准备一个可以返回数据的服务器页面。创建新的combo.ashx代码如下:复制代码如下:公共类combo : ihttphandler { public void process request(httpcontext context){ string query=context . request . params[' search '];StringBuilder sb=new StringBuilder('[');foreach(数据中的字符串)if (s .包含(查询)||query=='all') sb。追加(',');如果(某人[某人]。Length-1]==',')sb。除掉(某人)长度- 1,1);某人(somebody的简写)追加(']');语境。响应。内容类型='文本/纯文本';语境。给(某人)写信。ToString());} string[]data=new string[]{“[‘开发部’,1]”、“[‘行政部’,2]”、“[‘销售部’,3]”、“[‘质检部’,4]”、“[‘售后部’,5]”};public bool IsReuse { get { return false;}}}该程序根据客户端发送的参数进行过滤,然后返回数据。如果参数值为all,将返回所有数据。可以看到,服务器端的自动完成可以比本地端更自由,当然速度会慢一些。在本例中,服务器返回的javascript数组符合该格式。在实际开发中,有更好的数据传输格式可供选择。本文的重点不在数据传输上,所以直接以此方法为例。然后配置客户端的数据存储:复制代码如下: var remote store=new ext . data . arraystore({ field s :[' name ',' code'],proxy : newext . data . httproxy({ URL 3360 ' combo . ashx ' })}));最后,您可以使用远程数据源创建一个combobox:new ext . form.combobox({ id : ' combo remote '、allquery:' all '、field label : ' remote department '、triggerAction: 'all '、Mode :' remote '、queryParam :' search '、displayfield :' name '、store : remotestore、minChars :1}),其中minChars表示用户有多少个单词效果如下:。
在远程模式下,combobox还支持服务器端分页。此时,ComboBox会将start和limit参数传递给服务器,指示要显示的数据范围,服务器端代码经过相应处理后即可返回数据。