jQuery MiniUI

标题: 请问DataGrid单元格自动计算怎么调整样式呢? [打印本页]

作者: 自强不息的sun    时间: 2017-9-27 15:08:44     标题: 请问DataGrid单元格自动计算怎么调整样式呢?

单元格自动计算官网Demo
http://www.miniui.com/demo/#src=datagrid/drawcell2.html
现在显示是靠右,能居中或者居左显示吗?

作者: felt    时间: 2017-9-27 15:33:00

列上可以设置align="left"或者center
作者: 自强不息的sun    时间: 2017-9-27 15:51:31

felt 发表于 2017-9-27 15:33
列上可以设置align="left"或者center

额,这个列不是我写的,是通过grid上面写:
ondrawsummarycell="onDrawSummaryCell" showSummaryRow="true"
出现的列
作者: felt    时间: 2017-9-27 15:54:29

自强不息的sun 发表于 2017-9-27 15:51
额,这个列不是我写的,是通过grid上面写:
ondrawsummarycell="onDrawSummaryCell" showSummaryRow="tr ...

你说的是合计行吧,可以在ondrawsummarycell事件里处理
grid.on("drawsummarycell",function(e){
     if(e.field==..){
           e.cellStyle="text-align:left"
     }
})
作者: 自强不息的sun    时间: 2017-9-27 16:02:47

felt 发表于 2017-9-27 15:54
你说的是合计行吧,可以在ondrawsummarycell事件里处理
grid.on("drawsummarycell",function(e){
     if ...
  1. function onDrawSummaryCell(e) {//累加求和
  2.             var result = e.result;
  3.             var rows = e.data;
  4.             if (e.field == "Qty") {
  5.                 e.cellStyle = "text-align:left";
  6.                 var total = 0;
  7.                 var obj = {};
  8.                 var obj1 = null;//丢件
  9.                 var obj2 = null;//退件
  10.                 for (var i = 0, l = rows.length; i < l; i++) {
  11.                     var row = rows[i];
  12.                     if (!obj[row.CodeId]) {
  13.                         obj[row.CodeId] = {};
  14.                         obj[row.CodeId].sum = 0;
  15.                         obj[row.CodeId].pn = row.ProName;
  16.                     }
  17.                     var t = parseFloat(row.Qty);
  18.                     if (isNaN(t)) continue;
  19.                     obj[row.CodeId].sum += t;
  20.                     total += t;
  21.                     if (row['Type'] == "1") {
  22.                         obj1 = obj1 || {};
  23.                         if (!obj1[row.CodeId]) {
  24.                             obj1[row.CodeId] = {};
  25.                             obj1[row.CodeId].sum = 0;
  26.                             obj1[row.CodeId].pn = row.ProName;
  27.                         }
  28.                         obj1[row.CodeId].sum += t;
  29.                     }
  30.                     else if (row['Type'] == "2") {
  31.                         obj2 = obj2 || {};
  32.                         if (!obj2[row.CodeId]) {
  33.                             obj2[row.CodeId] = {};
  34.                             obj2[row.CodeId].sum = 0;
  35.                             obj2[row.CodeId].pn = row.ProName;
  36.                         }
  37.                         obj2[row.CodeId].sum += t;
  38.                     }
  39.                 }
  40.                 e.sender.sumObj = obj;
  41.                 e.sender.sumObjLose = obj1;
  42.                 e.sender.sumObjReturn = obj2;
  43.                 e.cellHtml = '';
  44.                 window.last = e.sender;
  45.                 if (obj1 !== null) {
  46.                     e.cellHtml += '&nbsp;&nbsp;丢件:';
  47.                     for (var pr in obj1) {
  48.                         e.cellHtml += '&nbsp;&nbsp;' + obj1[pr].pn + ":" + obj1[pr].sum;
  49.                     }
  50.                 }
  51.                 if (obj2 !== null) {
  52.                     e.cellHtml += '&nbsp;&nbsp;掉件:';
  53.                     for (var pr in obj2) {
  54.                         e.cellHtml += '&nbsp;&nbsp;' + obj2[pr].pn + ":" + obj2[pr].sum;
  55.                     }
  56.                 }
  57.                 if (obj2 != null || obj1 != null)
  58.                     e.cellHtml += '&nbsp;&nbsp;总计:';
  59.                     for (var pr in obj) {
  60.                         e.cellHtml += '&nbsp;&nbsp;' + obj[pr].pn + ":" + obj[pr].sum;
  61.                     }
  62.             }
  63.         }
复制代码
出来的效果还是这个样子的

[attach]9936[/attach]
作者: 自强不息的sun    时间: 2017-9-27 16:05:32

felt 发表于 2017-9-27 15:54
你说的是合计行吧,可以在ondrawsummarycell事件里处理
grid.on("drawsummarycell",function(e){
     if ...

[attach]9937[/attach]
作者: 自强不息的sun    时间: 2017-9-27 16:16:24

felt 发表于 2017-9-27 15:54
你说的是合计行吧,可以在ondrawsummarycell事件里处理
grid.on("drawsummarycell",function(e){
     if ...

我找到办法了,这个根据grid绘制时附加的方法,所以如果判断在哪一个field上,就在哪个位置..
作者: felt    时间: 2017-9-27 18:11:58

自强不息的sun 发表于 2017-9-27 16:16
我找到办法了,这个根据grid绘制时附加的方法,所以如果判断在哪一个field上,就在哪个位置.. ...

嗯,可以根据field来判断绘制的列。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2