EasyUI 格式化列

以下实例格式化在 easyui DataGrid 里的列数据,并使用自定义列的 formatter,如果价格小于 20 就将文本变为红色。

为了格式化一个数据网格(DataGrid)列,我们需要设置 formatter 属性,它是一个函数。这个格式化函数包含三个参数:

  • value:当前列对应字段值。
  • row:当前的行记录数据。
  • index:当前的行下标。

创建数据网格(DataGrid)

  1. <table id="tt" title="Formatting Columns" class="easyui-datagrid" style="width:550px;height:250px"
  2. url="data/datagrid_data.json"
  3. singleSelect="true" iconCls="icon-save">
  4. <thead>
  5. <tr>
  6. <th field="itemid" width="80">Item ID</th>
  7. <th field="productid" width="80">Product ID</th>
  8. <th field="listprice" width="80" align="right" formatter="formatPrice">List Price</th>
  9. <th field="unitcost" width="80" align="right">Unit Cost</th>
  10. <th field="attr1" width="100">Attribute</th>
  11. <th field="status" width="60" align="center">Stauts</th>
  12. </tr>
  13. </thead>
  14. </table>

请注意,‘listprice‘ 字段有一个 ‘formatter‘ 属性,用来指明格式化函数

写格式化函数

  1. function formatPrice(val,row){
  2. if (val < 20){
  3. return ‘<span style="color:red;">(‘+val+‘)</span>‘;
  4. } else {
  5. return val;
  6. }
  7. }
时间: 2024-10-20 01:37:39

EasyUI 格式化列的相关文章

jeecg3.5中为dgCol标签增加自定义格式化列中的数值的功能

jeecg3.5中只有formatter属性,只支持格式化时间格式的数据,不支持自定义格式化列中的值的功能,比如想把列中的的一个int或long型的值除以100转成float或doulbe值,jeecg3.5版本就不支持类似customFormatter这样属性,本文为jeecg3.5增加这个功能,主要修改的代码如下: org.jeecgframework.tag.core.easyui.DataGridColumnTag //51行  private String customFormatte

CAST格式化列数据前加0

update TableName set ConsultantID=right(cast('1000000000'+CONVERT(int,ConsultantID) as varchar(10)),9) CAST格式化列数据前加0,布布扣,bubuko.com

EasyUi 动态列

最近,接到一个需求,按部门做了个数据统计,原以为是个很普通的需求,具体实现的过程中,却发现,这个部门是不固定的,因为部门有可能被增.删.改. 所以,对应的列也是不固定的,这下可难倒我了. 不过,在我锲而不舍,刻苦钻研,外加百度.360搜索的帮助下,总算有了点思路. 具体的思路是这样子的: 1,将JS定义的Columns放在后台定义,在后台时融合部门列表,再返回到前端. 2,在后台对第一列的部门赋值,并返回Json. 有了思路,实现起来就不难了. 具体做法:1,JS获取列定义 function G

动态修改easyui datagrid 列宽度

$("#table").datagrid('hideColumn','a');//a表示列名,隐藏此列 var dg = $('#table');//table表id var col = dg.datagrid('getColumnOption','NAME');//获得该列属性 col.width = document.body.clientWidth*0.22;//调整该列宽度 col.align = 'center'; dg.datagrid(); 动态修改easyui data

easyui datagird 列宽自适应

代码如下: 1 onLoadSuccess: function (data) { 2 var rows = data.rows; //得到行数据 3 var columnMaxCharacter = new Array(); //该列最大字符数 4 //遍历所有行数据,获得该列数据的最大字符数 5 var propertys = Object.getOwnPropertyNames(rows[0]); 6 for (var i = 0; i < rows.length; i++) { 7 for

easyui datagrid 格式化列显示两位小数、千分位

{ field: "contractmoney", title: "合同总价", width: 72, formatter: function (value, row, index) { if (row != null) { return parseFloat(value).toFixed(2); } } }, //二位小数.千分位 { field: "price", title: "单价", width: 60, align

jquery-easyui:格式化列

主框架页面: 在主界面区会加载西区菜单点击的URL内容. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>主界面</title> <div th:include="/public/util::public"/> <div th:include="/public/util::jquery-easy

easyui 动态列实现

最近因公司需要,对easyui的动态列实现研究,并在网上查了不少的资料,但都不理想,结合自己的实践,简单介绍下实现过程: 需求特殊点在于:根据数据库的动态表结构,动态的加载datagrid表格,因数据库的表结构是变化的,用传统的加载方式无法实现列随表变化:正所谓难者不会,会者不难,而网上的相关资料比较少,经过大量的实验,最终实现了功能,而且关键代码却非常简单,如下所示: <script type="text/javascript"> var dataGrid; var $d

easyui格式化复选框

前端页面用的easyui,在一个datagrid数据列表中,每行数据前有个复选框,要求进入页面后,自动勾选符合条件的行数据.相对于简单模式的datagrid,这 里需要修改如下: (1) dagagrid中增加一列: <th field="ck" checkbox="true"></th> (2) 添加datagrid属性:singleSelect:false,onLoadSuccess:formatck, 其中onloadSuccess表示