首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dojox.grid.DataGrid自定义排序方法?

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

Stack Overflow用户
提问于 2010-10-19 18:03:50
回答 3查看 4.7K关注 0票数 2

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

代码语言:javascript
复制
09:01:00 18/10/2010
09:03:00 18/10/2010
09:02:00 19/10/2010

当我单击标题并对列进行排序时,我得到这个...

代码语言:javascript
复制
09:01:00 18/10/2010
09:02:00 19/10/2010    
09:03:00 18/10/2010

它对字符串值进行了排序,而不是将其作为日期值进行排序,因此第19位被放错了位置。

我希望有一个自定义的排序方法,或者以某种方式告诉网格它所呈现的数据类型。

代码语言:javascript
复制
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字符串中,并为表列提供自定义格式化程序?

有人能帮上忙吗?

谢谢Jeff Porter

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-19 18:36:16

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

然后,我更改了dojox.grid.DataGrid,使其具有用于日期列的自定义格式化程序。

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

它起作用了!

耶!!

票数 3
EN

Stack Overflow用户

发布于 2010-10-26 08:12:02

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

代码语言:javascript
复制
2010-10-18T09:01:00
2010-10-18T09:03:00
2010-10-19T09:02:00

它在文化上是中立的,并使用纯文本排序进行适当的排序。

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

票数 1
EN

Stack Overflow用户

发布于 2010-11-09 23:26:59

您还可以为您的store提供comparatorMap参数。

代码语言:javascript
复制
{fieldname: compareFunction} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3967214

复制
相关文章

相似问题

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