1

Ext.grid.Panel のセルにカーソルを合わせるとポップアップするツールチップを追加しようとしています。

ただし、列のレンダラー関数へのパラメーター「meta」には tdAttr プロパティがありません。

renderer : function(value, meta, record, row, col) {
    if (value == 1 && record.data.state === 'Accepted') {
        meta.tdCls = 'green';
        console.log('value',value);
        console.log('meta',meta);
        console.log('meta.tdAttr',meta.tdAttr);
        console.log('meta.style',meta.style);
        meta.tdAttr = 'data-qtip="' + value + '"';
        return record.data.id;
    } else if (value == 1 && record.data.state === 'Initial Version') {
        meta.tdCls = 'white';
        return record.data.id;
    } else if (value == 1) {
        meta.tdCls = 'red';
        return record.data.id;
    } else {
        return '';
    }
}

コンソール出力の例:

value 1 
meta Object {tdCls: "", style: ""} 
meta.tdAttr undefined 
meta.style

グリッド ビューまたはグリッド パネルでいくつかの設定が欠落しているように感じますが、そのプロパティが meta パラメータでさえ使用できないのは奇妙に思えます。ドキュメントから:

metaData : Object 現在のセルに関するメタデータのコレクション。レンダラーで使用または変更できます。認識されるプロパティは、tdCls、tdAttr、および style です。

4

2 に答える 2

1

そもそもその設定がなかった理由はわかりませんが、その問題を回避するために手動で追加しました:

meta['tdAttr'] = 'data-qtip="' + value + '"';

そしてそれはうまくいきました!

于 2013-08-20T16:55:23.000 に答える
0

アクション列にセルのツールチップを動的に表示した経験があり、役立つはずです。

        {
            xtype: 'actioncolumn',
            name: 'payment',
            width: 70,
            align: 'center',
            dataIndex: 'uid',
            menuDisabled: 'true',
            text: 'xxx',
            sortable: false,
            fixed: 'true',
            renderer: function (value, metadata, record) {
                if (value == '0') {
                    metadata.tdCls = 'pay-icon';
                }
                else {
                    metadata.tdCls = 'paid-icon'
                }
            },
            getTip: function (value, metadata, record) {
                if (value == '0') {
                    return 'for pay';
                } else {
                    return 'paid';
                }
            }
        }
于 2013-08-20T06:39:48.327 に答える