dojox.grid.DataGrid自定义排序方法?
我有一个 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 字符串,并为表列提供自定义格式化程序?
有人可以帮忙吗?
谢谢 杰夫·波特
I have a dojox.grid.DataGrid, and one of the columns has date data in it. e.g.
09:01:00 18/10/2010
09:03:00 18/10/2010
09:02:00 19/10/2010
When I click the heading and sort the column, I get this...
09:01:00 18/10/2010
09:02:00 19/10/2010
09:03:00 18/10/2010
It has sorted on the String value, not sorting it as a date value, hence the 19th gets misplaced.
I'd like to have a custom sorter method, or someway to tell the grid about the data type that it renders.
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>
The alternative is to find someway to encode the date into the JSON string, and have a custom formatter for the table column?
Can anyone help?
Thanks
Jeff Porter
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我已更改 JSON 以传递 dataTime long 值,而不是格式化的日期字符串。
然后我更改了 dojox.grid.DataGrid 以便为日期列提供自定义格式化程序。
它有效!
是的!!
I've changed the JSON to pass over the dataTime long value, not the formatted date String.
Then I've changed the dojox.grid.DataGrid to have a custom formatter for the date column.
and it works!!!
yea!!
JSON 的最佳实践是使用 ISO 日期。
它具有文化中立性,并且使用纯文本排序正确排序。
使用 dojox.grid,您可以声明一个格式化程序,将其转换为 Date 对象,然后生成适合文化的日期表示形式以供显示。
Best practice with JSON is to use ISO dates
It's culturally neutral and sorts properly using plain text sorting.
With dojox.grid, you can then declare a formatter that translates this to a Date object, then generates a culturally appropriate representation of the date for display.
您还可以为您的 store 提供 comparatorMap 参数。
You can also give comparatorMap parameter for your store.