【问题标题】:null value when using Dojo datagrid formatter function使用 Dojo 数据网格格式化程序函数时的空值
【发布时间】:2012-12-14 15:01:17
【问题描述】:

我正在尝试使用格式化程序在 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 为空)

我在这里遗漏了什么?我按照this link的例子:

提前谢谢你!

【问题讨论】:

    标签: django-templates dojox.grid.datagrid


    【解决方案1】:

    尝试添加脚本

    function formatDate(datum) {
        var d = dojo.date.stamp.fromISOString(datum);
        return dojo.date.locale.format(d, {formatLength: 'long'});
    }
    

    在道场需要语句之后

    【讨论】:

    • 试过了,也没用。
      无论如何,我退出了dojo并改用了django表。效果很好。
    猜你喜欢
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    相关资源
    最近更新 更多