2

これが私が持っているものです(その関連部分)。

Handsontable オプション:

data: [[new Date(2013,5,26,17,00,00),24.7025,null,29.018950276,19.7746530531,null,null,null,null,null,null,55,110,165,220], ...

columns: [{type:'date', dateFormat: 'mm/dd/yy'},{type: 'numeric',format: '0,0.00'}, ...

ハンドソン可能な日付セルに表示される結果:

Wed Jun 26 2013 17:00:00 GMT+0200 (Romance Daylight Time)

「dd-MM-yyyy HH:mm」として表示したいのですが、そうする方法が見つかりません...上記のように、表示は常にデフォルトの日付形式に固執しているようです。

4

3 に答える 3

2

そのような場合は、カスタム レンダラーを使用できます。

jquery.handsontable.exts.js を作成し、handsontable.js でロードしています。

このサンプル スクリプトは、renderFormat または dateFormat プロパティを使用して、日付を正しくレンダリングします。

    /**
    * Handsontable date renderer
    * @param {Object} instance Handsontable instance
    * @param {Element} TD Table cell where to render
    * @param {Number} row
    * @param {Number} col
    * @param {String|Number} prop Row object property name
    * @param value Value to render (remember to escape unsafe HTML before inserting to DOM!)
    * @param {Object} cellProperties Cell properites (shared by cell renderer and editor)
    */
    Handsontable.DateRenderer = function (instance, TD, row, col, prop, value, cellProperties) {
        if (value && typeof value == "object" && value.constructor == Date) {
            // Date!
            var format = cellProperties.renderFormat || cellProperties.dateFormat || "";
            value = $.datepicker.formatDate(format, value); //value.format(format);
        }
        if (cellProperties.readOnly)
            Handsontable.TextRenderer(instance, TD, row, col, prop, value, cellProperties);
        else
            Handsontable.AutocompleteRenderer(instance, TD, row, col, prop, value, cellProperties);
    };

    Handsontable.DateCell.renderer = Handsontable.DateRenderer;
    Handsontable.cellLookup.renderer.date = Handsontable.DateRenderer;
于 2013-07-24T15:07:39.290 に答える