На самом деле класс столбца даты является расширением класса столбца, поэтому он имеет renderer
. Это просто скрыто из документа, чтобы убедиться, что defaultRenderer
будет использоваться. Это означает, что вы можете использовать ту же стратегию для добавления всплывающей подсказки. Вам просто нужно убедиться, что ваш пользовательский модуль рендеринга вернет результат модуля рендеринга по умолчанию, чтобы значение было отформатировано как обычно.
Вот как это можно сделать:
{
xtype: 'datecolumn',
itemId: 'created-on-column',
dataIndex: 'createdOn',
text: 'Created',
format: 'c',
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
metaData.tdAttr = 'data-qtip="BlobKey:' + record.get('symbol') + '"';
// Pass the call to the date column default renderer
return Ext.grid.column.Date.prototype.defaultRenderer.apply(this, arguments);
}
}
Обновить
В Architect вы можете создать переопределение. Например, при использовании шаблона проекта Basic › Master/Detail (потому что есть сетка) мне помогает следующее:
Ext.define('MyApp.view.override.MainView', {
override: 'MyApp.view.MainView'
,initComponent: function() {
this.callParent();
var grid = this.down('gridcolumn[dataIndex=date]');
Ext.override(grid, {
renderer: function(value, metaData, record) {
metaData.tdAttr = 'data-qtip="BlobKey:' + record.get('title') + '"';
// Pass the call to the date column default renderer
return this.callParent(arguments);
}
});
}
});
Удивительно, но мне пришлось самому добавить этот класс в requires
приложения...
Это поставило меня на правильный путь, чтобы разработать это как плагин:
Я принимаю это как решение передать репутацию @rixo за то, что он приложил столько усилий, чтобы помочь мне, но я хотел опубликовать ссылку на фактическое решение, которое он заставил меня создать. Я добавил его в ответ, потому что уверен, что он потеряется в разделе комментариев.
Вот ссылка на решение, которое я разработал на основе этого ответа и еще одного.
person
rixo
schedule
02.12.2013