代码之家  ›  专栏  ›  技术社区  ›  jeff porter ichak khoury

dojox.grid.DataGrid自定义排序方法?

  •  2
  • jeff porter ichak khoury  · 技术社区  · 15 年前

    我有一个dojox.grid.DataGrid,其中一列有日期数据。例如

    09:01:00 18/10/2010
    09:03:00 18/10/2010
    09:02:00 19/10/2010
    

    09:01:00 18/10/2010
    09:02:00 19/10/2010    
    09:03:00 18/10/2010
    

    它按字符串值排序,而不是按日期值排序,因此第19个被放错了位置。

    我想要一个自定义的分类方法,或者某种方式告诉网格它呈现的数据类型。

    var rawdataDeltaInfo = '[{'timestamp':'15:27:45 18/10/2010'}]';
    
    <table id="gridDeltas" jsId="gridDeltas" dojoType="dojox.grid.DataGrid" store="deltaInfo"  clientSort="false" >
        <thead>
                <tr>
                    <th field="timestamp" >Create Date</th>
                </tr>
        </thead>
    </table>
    

    另一种方法是找到某种方式将日期编码为JSON字符串,并为表列设置自定义格式化程序?

    谢谢

    3 回复  |  直到 15 年前
        1
  •  3
  •   jeff porter ichak khoury    15 年前

    我更改了JSON以传递dataTime long值,而不是格式化的日期字符串。

    dojo.require("dojo.date.locale");
    formattedString = dojo.date.locale.format(new Date(jsonLongDate), {datePattern: "HH:mm:ss dd/MM/yyyy", selector: "date"});
    

    而且有效!!!

    赞成!!

        2
  •  1
  •   peller    15 年前

    JSON的最佳实践是使用ISO日期

    2010-10-18T09:01:00
    2010-10-18T09:03:00
    2010-10-19T09:02:00
    

    使用dojox.grid,您可以声明一个格式化程序,将其转换为一个日期对象,然后生成一个在文化上适合显示日期的表示。

        3
  •  0
  •   raspi    15 年前

    您还可以为 store

    {fieldname: compareFunction}