使用Dojo datagrid格式化程序函数时为null值

时间:2012-12-14 15:01:17

标签: django-templates dojox.grid.datagrid

我正在尝试使用格式化程序使用DOJANGO格式化dojo网格中的日期。

这是模板脚本:

{% extends "dojango/base.html" %}
{% load dojango_grid %}

{% block dojango_page_title %} Testing datagrid {% endblock %}

{% block dojango_header_extra %}

<script type="text/javascript">
function formatDate(datum) {
    var d = dojo.date.stamp.fromISOString(datum);
    return dojo.date.locale.format(d, {formatLength: 'long'});
}
</script>

<script>
dojo.require("dojo.parser");
dojo.require("dijit.Dialog");
dojo.require("dojo.date.stamp");
dojo.require("dojo.date.locale");

</script>

{% endblock %}

{% block dojango_content %}
<h1> Movimientos </h1>
</br>
</br>

{% datagrid voucher_v1 Movimiento %}
    width="100%"
    height="500px"
   formatter=     {'fecha_cambio_saldo':"this.formatDate",'fecha_cambio_saldo_anterior':"this.formatDate"}
    id="test_grid"
{% enddatagrid %}

{% endblock %}

但是,函数参数datum传递为null,并且该行有一个异常:

return dojo.date.locale.format(d, {formatLength: 'long'});

(它抱怨ObjectDate.getHours()未定义,因为ObjectDate为null)

我在这里错过了什么?我按照this link

中的示例进行了操作

提前谢谢!

1 个答案:

答案 0 :(得分:0)

尝试添加脚本

function formatDate(datum) {
    var d = dojo.date.stamp.fromISOString(datum);
    return dojo.date.locale.format(d, {formatLength: 'long'});
}
在dojo需要语句之后