具有日期和时间的Dojo数据网格

时间:2011-02-02 12:19:38

标签: dojo dojox.grid.datagrid

请有人在这里,为了上帝之爱!,使用dojox.data.JsonRestStore发布一个工作dojox.grid.DataGrid的示例,其中包含2列,日期和时间?

我尝试了以下内容:

<th field="startdate" cellType="dojox.grid.cells._Widget" widgetClass="dijit.form.DateTextBox" editable="true" formatter="formatDate"></code></pre> and 
<th field="starttime" cellType="dojox.grid.cells._Widget" widgetClass="dijit.form.TimeTextBox" editable="true" formatter="formatDate">

另外:

<th field="startdate" cellType="dojox.grid.cells.DateTextBox" editable="true" formatter="formatDate"></code></pre> and 
<th field="starttime" cellType="dojox.grid.cells._Widget" widgetClass="dijit.form.TimeTextBox" editable="true" formatter="formatDate">

但似乎没有任何效果。现在已经两天了,我一直在阅读大量的文档和报告,但我无法在任何地方找到一个有效的例子。

编辑:

我现在正面临程序员职业生涯中最奇怪的问题:网格现在可以正常使用DateTextBox和TimeTextBox(这种情况适用于Firefox 3.6.6和3.6.14pre,Internet Explorer 8和Google Chrome。),除了对于以下内容:

在Firefox 3.6.13中,网格中包含偶数个项目,当我尝试编辑一个元素的时间或日期时,小工具框出现在左上角,未正确选择日期和浏览器崩溃,CPU达到100%。

但是,如果项目数是奇数,则日期和时间的编辑工作正常。我完全不知道该怎么做,请反复一些想法。

3 个答案:

答案 0 :(得分:1)

您可以在dojo测试套件中尝试执行此操作。它实际上并没有使用JsonRestStore,但这并不重要。

http://archive.dojotoolkit.org/nightly/checkout/dojox/grid/tests/test_edit_dijit.html

最好的dojo文档是测试。

答案 1 :(得分:1)

如果有帮助,Oliver添加了some examples如何格式化网格中的日期,有和没有可编辑的dijit小部件。这仍然需要纳入主要文档。

答案 2 :(得分:1)

您可以将网格中的值保留为日期类型,但使用您的自定义格式....网格将负责排序.....无需为Date等简单字段编写自定义排序。 .. ......

var yourLayout = [[
 { 'name': 'Date', 'field': 'dateCol', 'width': '15%', 'formatter': this.formatDate}
]];

..............

formatDate: function(dateValue) {
                return dojoLocale.format(dateValue, { selector: 'date', formatLength: 'long' });
        }

...