首页 > 解决方案 > SDT 按数字字段排序

问题描述

我有一个带有集合的 SDT,它来自客户发送的 XML。有时他们以错误的顺序发送项目,例如倒序,所以我必须对其进行排序。但是 Genexus 中的 sort 函数按字节排序而不是数字排序,当集合大于 10 个项目时,结果如下:

<sdt>
    <field1>something</field1>
    <colection>
        <item>
            <itemcode>1</itemcode>
            <itemDescription>ITEM 1</itemDescription>
        </item>
        <item>
            <itemcode>10</itemcode>
            <itemDescription>1ITEM 10</itemDescription>
        </item>
        <item>
            <itemcode>2</itemcode>
            <itemDescription>ITEM 2</itemDescription>
        </item>
        <item>
            <itemcode>20</itemcode>
            <itemDescription>ITEM 20</itemDescription>
        </item>
    </collection>
</sdt>

我怎样才能按照数字顺序对其进行排序?

标签: xmlsortinggenexus

解决方案


莱奥佩雷什,

它会是这样的:

&SDT.collection.sort('itemcode')

如果它想下降

&SDT.collection.sort('[itemcode]')

以防万一你想要多重排序:

&SDT.collection.sort('itemcode,itemDescription')

甚至结合:

&SDT.collection.sort('[itemcode],itemDescription')

&SDT 是 SDT 类型变量


推荐阅读