找回密码
 立即注册

QQ登录

只需一步,快速开始

ztoit

中级会员

36

主题

87

帖子

944

积分

中级会员

积分
944

微信认证勋章

QQ

[已处理] 排序不对的问题

ztoit
中级会员   /  发表于:2017-6-22 10:02  /   查看:6322  /  回复:10
function setRowFilter(sheet) {
                var rowCount, colCount;
                rowCount = sheet.getRowCount();
                colCount = sheet.getColumnCount();
                sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, 1, rowCount, colCount - 1)));
            }
这样设置的排序,但是,对于数字的数据,排列的顺序不对,为什么

10 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-22 14:44:30
沙发
您好,使用您提供的代码进行了尝试,但是没发现数字排序顺序不对的情况
以下是测试的截图:
image.png405329284.png
因为您这边出现问题,而我们这边不能重现,所以能否请您提供一个能够重现问题的demo,我们帮您看看具体问题出自哪里
回复 使用道具 举报
ztoit
中级会员   /  发表于:2017-6-22 16:13:39
板凳
应该是金额,数字带有小数点,后面补0了,然后,排序就不对了,有没有格式化金额的CellType
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-22 16:27:00
地板
ztoit 发表于 2017-6-22 16:13
应该是金额,数字带有小数点,后面补0了,然后,排序就不对了,有没有格式化金额的CellType

您可能是将单元格的格式转换成了文本格式导致您的排序出现了问题,您可以使用单元格格式来完成
您可以查看
http://demo.gcpowertools.com.cn/ ... ples/basicFormatter
文档和其中的demo来完成设置单元格格式
回复 使用道具 举报
ztoit
中级会员   /  发表于:2017-6-22 17:08:18
5#
blob708782653.png
使用sheet.bindColumns方法,如何将单元格设置成number类型,并且保留两位小数
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-23 09:11:33
6#
ztoit 发表于 2017-6-22 17:08
使用sheet.bindColumns方法,如何将单元格设置成number类型,并且保留两位小数

formatter:"#.#%"改为formatter:"0.00"
回复 使用道具 举报
ztoit
中级会员   /  发表于:2017-6-23 09:42:38
7#
像3.1这种数字,会补0吗?变成3.10,我写上,但是没起作用
回复 使用道具 举报
ztoit
中级会员   /  发表于:2017-6-23 09:42:42
8#
像3.1这种数字,会补0吗?变成3.10,我写上,但是没起作用
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-23 09:50:21
9#
写了个demo您参考一下,方法用的就是我刚说的formatter:"0.00",是没问题的

formatter0.00.html.zip

885 Bytes, 下载次数: 187

回复 使用道具 举报
ztoit
中级会员   /  发表于:2017-7-6 15:40:59
10#
  1. <!DOCTYPE html>
  2. <html>

  3.         <head>
  4.                 <title></title>
  5.                 <meta charset="utf-8" />
  6.                 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  7.                 <meta name="spreadjs culture" content="zh-cn" />

  8.                 <link href="js/style/gc.spread.sheets.10.1.0.css" rel="stylesheet" type="text/css" />

  9.                 <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>

  10.                 <script type="text/javascript" src="js/gc.spread.sheets.all.10.1.0.js"></script>
  11.                 <!--<script type="text/javascript" src="js/interop/gc.spread.excelio.10.1.0.min.js"></script>-->
  12.                 <script type="text/javascript" src="js/resources/zh/gc.spread.sheets.resources.zh.10.1.0.js"></script>
  13.                 <script type="text/javascript" src="js/license.js"></script>
  14.         </head>

  15.         <body>
  16.                 <div id='ss' style='width:100%; height:400px;'></div>
  17.         </body>


  18. </html>
  19. <script type="text/javascript">
  20.         $(document).ready(function() {
  21.                 var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
  22.                 var sheet = spread.getActiveSheet();
  23.                 var datasource = [
  24.                         {name: 'Alice',age: 1,birthday: 1497590553000,position: 'PM'},
  25.                         {name: 'Alice1',age: 4,birthday: 1497604878000,position: 'PM'},
  26.                         {name: 'Alice2',age: 8,birthday: 1497605106000,position: 'PM'},
  27.                         {name: 'Alice3',age: 7,birthday: 1497605107000,position: 'PM'},
  28.                         {name: 'Alice4',age: 45,birthday: 1497605068000,position: 'PM'},
  29.                         {name: 'Alice5',age: 63,birthday: 1497605102000,position: 'PM'},
  30.                         {name: 'Alice6',age: 52,birthday: 1497605049000,position: 'PM'},
  31.                         {name: 'Alice7',age: 27,birthday: 1497605099000,position: 'PM'},
  32.                         {name: 'Alice8',age: 83,birthday: 1497605054000,position: 'PM'},
  33.                         {name: 'Alice9',age: 48,birthday: 1497605080000,position: 'PM'},
  34.                         {name: 'Alice10',age: 45,birthday: 1497605055000,position: 'PM'},
  35.                         {name: 'Alice11',age: 242,birthday: 1497605097000,position: 'PM'}
  36.                 ];
  37.                 // bindColumn one by one
  38.                 var colInfo = [{
  39.                                 name: 'name',
  40.                                 displayName: '姓名'
  41.                         },
  42.                         {
  43.                                 name: 'age',
  44.                                 displayName: 'Age',
  45.                                 formatter: '0.00',
  46.                                 value: function(row) {
  47.                                         return row.age+2;
  48.                                 }
  49.                         },
  50.                         {
  51.                                 name: 'birthday',
  52.                                 displayName: '生日',
  53.                                 formatter: 'yyyy-MM-dd hh:mm:ss',
  54.                                 value: function(row) {
  55.                                         return new Date(row.birthday);
  56.                                 }
  57.                         },
  58.                         {
  59.                                 name: 'position',
  60.                                 displayName: 'Position',
  61.                                 isHideFilter:false
  62.                         }
  63.                 ];

  64.                 sheet.autoGenerateColumns = true;
  65.                 sheet.setDataSource(datasource);
  66.                 sheet.bindColumns(colInfo);
  67.                 initSpread(spread);
  68.                 resetDefaultStyle(sheet);
  69.                 setRowFilter(sheet);
  70.                 //表格设置排序,筛选
  71.         function setRowFilter(sheet) {
  72.             var rowCount, colCount;
  73.             rowCount = sheet.getRowCount();
  74.             colCount = sheet.getColumnCount();
  75.             sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, 0, rowCount, colCount)));
  76.             var filter = sheet.rowFilter();
  77.             colInfo.forEach(function (item, index) {
  78.                 if (!item.ishideFilter && item.isHideFilter == false) {
  79.                     filter.filterButtonVisible(index, false);
  80.                 };
  81.             })
  82.         }
  83.                 //初始化表格
  84.                 function initSpread(spread) {
  85.             // give sheet name more space
  86.             spread.options.setTabStripRatio = 0.8;
  87.             spread.options.scrollbarMaxAlign = true;
  88.             spread.options.scrollbarShowMax = true;
  89.             spread.options.grayAreaBackColor = '#e9eef2';
  90.             spread.options.showVerticalScrollbar = true;
  91.             spread.options.newTabVisible = false;
  92.             spread.options.tabStripVisible = false;
  93.             GC.Spread.Common.CultureManager.culture("zh-cn");
  94.         }
  95.                  //重新定义表格默认样式
  96.         function resetDefaultStyle(sheet) {
  97.             // set default style for all cells
  98.             sheet.defaults.rowHeight = 26;
  99.             sheet.defaults.colHeaderRowHeight = 30;
  100.             sheet.defaults.colWidth = 200;
  101.             sheet.options.protectionOptions = {
  102.                 allowFilter: true,
  103.                 allowSort: true,
  104.                 allowResizeRows: true,
  105.                 allowResizeColumns: true,
  106.                 allowEditObjects: true
  107.             };
  108.             sheet.options.isProtected = true;
  109.             var defaultStyle = sheet.getDefaultStyle();
  110.             //                                defaultStyle.backColor  = "#eaf1f9";
  111.             defaultStyle.foreColor = "#666666";
  112.             defaultStyle.font = '9pt "Helvetica Neue", Helvetica, Microsoft Yahei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif';
  113.             defaultStyle.vAlign = GC.Spread.Sheets.VerticalAlign.center;
  114.             defaultStyle.hAlign = GC.Spread.Sheets.HorizontalAlign.center;
  115.             sheet.setDefaultStyle(defaultStyle);
  116.             sheet.setDefaultStyle(defaultStyle, GC.Spread.Sheets.SheetArea.colHeader);
  117.             sheet.setDefaultStyle(defaultStyle, GC.Spread.Sheets.SheetArea.colHeader);
  118.         }
  119.                

  120.         });
  121. </script>
复制代码

age一列,使用了,value,排序不对了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部