首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含项目渲染器的flex数据网格排序

包含项目渲染器的flex数据网格排序
EN

Stack Overflow用户
提问于 2012-07-24 17:39:09
回答 1查看 553关注 0票数 2

我是flex的新手,我可以向任何人提出一些问题吗?

我有用来监视CPU状态的网格,它看起来像这样

CPU | CPU差异

5.9 | +0.2 ^

4.0 | -0.6 v

12.7| -1.5 v

上图中的^ , v表示[s:itemrenderer]

问题是"CPU dif“列不能正常排序,所以我使用sortCompareFunction来解决这个问题

代码语言:javascript
复制
public static function compareCPU(typeOne:Object, typeTwo:Object ,grid:Object):int
{
  return ObjectUtil.numericCompare(Number(typeOne.cpu), Number(typeTwo.cpu) );
}
public static function compareCPUdif(typeOne:Object, typeTwo:Object ,grid:Object):int
{
  return ObjectUtil.numericCompare(Number(typeOne.cpu_dif), Number(typeTwo.cpu_dif) );
}

代码语言:javascript
复制
<s:GridColumn headerText="Cpu%" dataField="cpu" sortCompareFunction="compareCPU"/>
<s:GridColumn width="90" headerText="Cpu% Dif"  sortCompareFunction="compareCPUdif">
  <s:itemRenderer>
    <fx:Component>
      <s:GridItemRenderer width="100%" height="100%">
        <s:HGroup width="100%" height="100%" verticalAlign="middle" horizontalAlign="left">
          <s:HGroup width="50%" paddingLeft="5" horizontalAlign="left">
            <s:Label text="{data.cpu_dif}"/>
          </s:HGroup>    
          <s:HGroup  width="50%" paddingRight="5" horizontalAlign="right">
            <mx:Image source="{outerDocument.statusArrow.getItemAt(data.pic)as String}"/>
          </s:HGroup>
        </s:HGroup>
      </s:GridItemRenderer>
    </fx:Component>
  </s:itemRenderer>
</s:GridColumn>

这看起来很奇怪,它可以工作一半,他们只能正确排序一种方式(升序-排序)

当我再次单击它时,没有任何响应。

你对这个问题有什么解决方案吗?

提前致以最高的谢意

EN

回答 1

Stack Overflow用户

发布于 2013-06-19 19:28:39

它可能将'+‘和'-’字符视为..井。字符而不是数学符号。

获取排序提供的对象,自己将它们转换为数字,然后应用numericCompare

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11628109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档