EasyUI常用控件的易错点
datagrid
- 展示数据问题
1.1. 用getJSON获取整个表单的数据,然后用data关键字,往每个字段添加数据,前提是后台封装好的。
1.2. 用url直接从后台获取,但是后台封装数据的格式有一定的要求,必须有rows这个变量,然后将其他的数据封装到这个变量里。做成json数组的格式。 - datagrid和combobox混合使用,做可编辑的表格。
2.1. 这个功能的实现不是很难,但是有个地方必须注意。如果combobox的值是提前获取的话,会产生datagrid提交的是字面值而不是value值。这个需要在提交前做个一一兑换的。(这个是初期使用easyUI遇到的问题,下面的方法完全可以避免这个问题)
2.2. 所有的数据获取都直接用url的方式获取。
combobox
- combobo取值问题
combobox需要的是一个直接的json格式数据。struts2可以直接配置一个变量为root的格式,这样就可以单独的将这个值以json的格式返回给前台,这个值得类型为arraylist类型。 - combobox默认值问题
combobox的默认值可以用selected选中,需要在后台给查到的记录添加一个状态值。可以在sql上做处理。 - combobox中valueField为0的问题
combobox遇到valueField为0的时候默认将其设置为默认值。还有一点combobox的value属性,如果是valueField的值话,则默认选中,如果是不是的话,则是combobox展示的字段,比如’–请选择–’这样的提示性话语。但是如果这个combobox的multiple属性设置为true时,这个提示性的话语就会当成值向后台传递。而且选择的时候不会此值不会消除。所以valueField对应的值尽量避免出现0值,如果不可避免的话,在数据出入数据库的时候做些变化。(如果有其他的方法请告诉我)
Tree
- 状态值
state属性的’open’,’closed’值决定了此树还是否能继续展开,即决定了是否是数据的叶子节点。 - 自动添加参数
当点击’closed’状态的tree时候,easyUI会自动在对应的请求url后面加上一个nodeid这样可以保证动态的产生数据。
layout
- div布局和iframe的问题
layout的布局是用div实现的,可以避免父子页面传递大量数据调用麻烦的情况。但是其缺点是所有的代码必须写在一个js中,才能控制弹窗居中显示,全屏遮罩。 - 控制div的最大范围
这里需要说明一个属性maxHeight.这个可以控制div最大的高度值。当然也有一个最小的控制。因为自己做的项目中出现了,north的div扩大,占据south的div现象。
validatebox
- 验证数据的正则表达式
这个控件是基础控件,当需要验证某个字段的时候,只要将正则表达式的规则引入到validType的这个属性下即可。关于正则表达式,可以在网上搜索。。
summarize
这些都是自己在开发中遇到的问题,写下来供以后翻阅查看。如果中间有错误的地方,或者更好的方法,希望大家指正说明。共同学习。。