明确单元格DOM结构

要想弄清楚formatter和styler属性是怎么工作的,首先要弄清楚datagrid组件内容单元格的DOM接口,注意,这里指的是内容单元格,不包括标题单元格,标题单元格的结构有所区别。我们所有内容单元格的默认DOM结构如下:

1
2
3
4
5
<td field="code">
    <div style="text-align:left" class="datagrid-cell datagrid-cell-c1-code">
         文字
    </div>
</td>

很简单,其实只是两层结构,td标签的field属性便是字段的编码,而单元格内容统一用一个div包裹起来,在我举的这个例子中,div标签有个 text-align样式,这个样式其实是由列属性align决定的,同时div标签的class属性值并不是一个定值,需要注意一下。

理解formatter是什么

顾名思义,formatter是格式化的意思,也就是以何种形式呈现的意思,对于一个纯文本,我可以将它呈现为checkbox,也可以呈现为 input输入框,甚至下拉框等等,或者是在文本外层包裹更多的DOM(当然包裹这样做并没有多大意义),这就是formatter的真正意义。

定义示例:

1
2
3
4
5
6
7
8
formatter: function(value, row, index){
    if (value == "007") {
        return '<font color="red">' + value + '</font>';
    }
    else {
        return value;
    }
}

使用formatter需要注意以下几点:

  • 无论formatter出何种形式,格式化出的DOM一定都是被包含在默认的div标签内
  • 在写formatter函数时要保证有值返回,否则单元格没有内容可展示,所以if的时候别忘了else
  • formatter函数不会作用在列属性checkbox为true的单元格上,checkbox列是组件预留的。

理解styler是什么

顾名思义,styler是样式的意思,听起来跟formatter容易混淆,其实它只是利用jQuery的css函数修改默认td标签的样式,所以styler属于低能儿,只能定义单元格的背景色等,而且往往被默认的div标签样式覆盖。

定义示例:

1
2
3
4
5
6
styler: function(value, row, index){
    if (value == "007") {
        return 'background-color:blue;';
    }
}
<br><br>
1
<br><br>

最新文章

  1. input在标签内设置禁止输入空格
  2. (转)为什么用ls和du显示出来的文件大小有差别?
  3. Ajax跨域访问XML数据的另一种方式——使用YQL查询语句
  4. JQuery 技巧积累与总结
  5. for嵌套:1.兔子生兔子问题 2.打印菱形 3.求100以内质数的和
  6. Android 自定义Toast,不使用系统Toast
  7. SPOJ 375 (树链剖分 - 边权剖分 - 修改单边权)
  8. Java 二次MD5 32位小写加密算法与php页面加密结果相同
  9. JSF教程(9)——生命周期之Process Validations Phase
  10. javascript 学习总结(九)面向对象编程
  11. Node.js开发工具、开发包、框架等总结
  12. Weighted Effect Coding: Dummy coding when size matters
  13. 3、树莓派的配置:改静态IP、连接ssh、安装中文字体、安装谷歌输入法、增加USB电流、修改触摸屏分辨率、扩展sd卡空间、修复vi和vim乱码问题、安装配置远程桌面vnc
  14. python中编码问题
  15. 如何获取帮助———— QQ群讨论摘要
  16. 23种设计模式之装饰模式(Decorator)
  17. HttpService与WebService的差异
  18. 怎么在一台电脑上安装win7与centos7双系统
  19. C#获取外网IP地址;C#获取所在IP城市地址
  20. TraClus java版实现

热门文章

  1. CPU MPU MCU SOC SOPC关系及区别
  2. Ubuntu 14.10 下Ganglia监控Spark集群
  3. leetcode 238 Product of Array Except Self
  4. Nginx 安装编译配置
  5. HDOJ-三部曲一(搜索、数学)-1012-Shredding Company
  6. 【LEETCODE OJ】Clone Graph
  7. 安装webmin
  8. Python - 学习经验分享
  9. MongoDB在Windows下安装及配置
  10. SQL基础,与数据类型;