您的位置:首页 > 产品设计 > UI/UE

easyui中datagrid的formatter使用问题

2016-09-26 22:35 260 查看
    学习easyui已经有一段时间了,在前不久的公司的项目中碰到了关于datagrid的formatter的问题,我的目的是用formatter自定义操作列,但当我在formatter返回的字符串中加入easyui控件的属性时,easyui的样式并没有出现,无论是放在data-options中还是直接的写xxx="xxx"的格式。然后我将返回的字符串打印出来,发现在属性后带有双引号就会将双引号内的内容自动的解析成属性,有时候甚至会报出错误。现在知道问题的所在了,当然解决的方法也有很多了。

    其中最好的方式当然是归避这种情况的出现,用最简单的形式实现所需要的功能,这种做法还可以减少其他错误的出现(因为加入样式后我真遇到了许多的问题T T)。但以客户要求为重么,所以还是硬着头皮去实现easyui的样式。思路其实也是很简单,写easyui的属性无非就是三种形式,在class写上easyui控件名,然后直接写上属性或者写在data-options里,这两种方式都不行了,那么还有一种就是用js写,在datagrid的onLoadSuccess事件中通过function照着官网上的js格式写上就可以了,但是之后的问题来了,在对datagrid中数据进行操作时,只有触发了loadData方法时,onLoadSuccess事件才会触发,这就会导致对datagrid的某条记录修改时,就会出现样式又消失了。

   那么要怎么样将样式保留呢?重新渲染当然可以,datagrid中也有相应的事情,但我没那么做,我只是用getData方法取出特定行的数据,通过引用字段将值赋给它而已,但是这样还是增加了不少的代码。所以希望大家还尽量采用简单的方式解决问题,如果还是要用,愿这篇文章能对你有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  easyui