我已经根据我的需要调整了这个带有详细面板示例的 ExtJS Grid。
它工作得很好,但现在我想添加这个功能:
在我的网格中,其中一个字段可能包含很长的文本(这是从我的商店中检索它的方式)。我只想显示该字段的前 N 个字符,并且仅当用户执行某些操作(悬停在该字段上/单击它/双击它/...)向他/她呈现完整值(也许在窗户或更整洁的地方)。
我设法定义了一个渲染器,它只显示前 N 个字符,如下所示:
var my_grid = new Ext.grid.GridPanel({
store: my_store,
columns: [
{header: "description", width: 400, dataIndex: 'description', sortable: true,
renderer: function(val, meta, record) {
var tpl;
if (val.length > 400)
{
val = val.substr(0, 400) + '...';
}
tpl = new Ext.Template('<div style="white-space:normal; word-wrap: break-word;">{val}</div>');
return tpl.apply(
{
val: val
});
}},
{header: "some_other_column_header", width: 100, dataIndex: 'blah-blah', sortable: true}
],
sm: new Ext.grid.RowSelectionModel({singleSelect: true}),
height:200,
split: true,
region: 'north'
});
我的问题是当用户做某事时如何在整个文本中添加一个窗口/其他选项。我想我应该在网格中添加一个监听器,但我不知道如何编写这个监听器......
谢谢!!!