看到问答里面的:http://www.iteye.com/problems/19761
就顺便总结点自己的体会吧。
1.表头提示
在2.2里面是设置ColumnModel.tooltip
,3.0则是Column.
tooltip
如下:
var grid = new Ext.grid.GridPanel({
columns:[
{header:'名称',dataIndex:'name',tooltip:'对象名称'},
{header:'开始时间 - 结束时间 <br/>成功/失败/成功率', dataIndex:'sucRate',tooltip:'成功/失败/成功率'}
]
});
2.单元格提示
1)使用Ext.QuickTips
在开始的时候就执行Ext.QuickTips.init();
然后对需要提示的单元格,重写renderer函数,添加ext:qtitle , ext:qtip这2个属性即可。
这个在官方的FAQ上有详细描述: http://extjs.com/learn/Ext_FAQ_Grid#Add_ToolTip_or_Qtip
代码:
//option 1
//========
renderer = function (data, metadata, record, rowIndex, columnIndex, store) {
//build the qtip:
var title = 'Details for ' + value + '-' + record.get('month') +
'-' + record.get('year');
var tip = record.get('sunday_events');
metadata.attr = 'ext:qtitle="' + title + '"' + ' ext:qtip="' + tip + '"';
//return the display text:
var displayText = '<span style="color: #000;">' + value + '</span><br />' +
record.get('sunday_events_short');
return displayText;
};
//option 2
//========
renderer = function (data, metadata, record, rowIndex, columnIndex, store) {
var qtip = '>';
if(data >= 0){
qtip = " qtip='yeah'/>";
return '<span style="color:green;"' + qtip + data + '%</span>';
}else if(data < 0){
qtip = " qtip='woops'/>";
return '<span style="color:red;"' + qtip + data + '%</span>';
}
return data;
};
//option 3
//========
var qtipTpl = new Ext.XTemplate(
'<h3>Phones:</h3>',
'<tpl for=".">',
'<div><i>{phoneType}:</i> {phoneNumber}</div>',
'</tpl>'
);
renderer = function (data, metadata, record, rowIndex, columnIndex, store) {
// get data
var data = record.data;
// convert phones to array (only once)
data.phones = Ext.isArray(data.phones) ?
data.phones :
this.getPhones(data.phones);
// create tooltip
var qtip = qtipTpl.apply(data.phones);
metadata.attr = 'ext:qtitle="' + title + '"' + ' ext:qtip="' + tip + '"';
//return the display text:
return data;
};
2)使用ToolTip
官方也已经给出方法:
http://extjs.com/forum/showthread.php?p=112125#post112125
http://extjs.com/forum/showthread.php?t=55690
以上给出的方法是可以让一个grid里面的元素共享一个tooltip对象。一般用来做rowtip
不过3.0有更好的方式,如下:
3.行提示 RowTip
ExtJS3.0新增的方法,设置tooltip的delegate
代码:
var myGrid = new Ext.grid.gridPanel(gridConfig);
myGrid.on('render', function(grid) {
var store = grid.getStore(); // Capture the Store.
var view = grid.getView(); // Capture the GridView.
myGrid.tip = new Ext.ToolTip({
target: view.mainBody, // The overall target element.
delegate: '.x-grid3-row', // Each grid row causes its own seperate show and hide.
trackMouse: true, // Moving within the row should not hide the tip.
renderTo: document.body, // Render immediately so that tip.body can be referenced prior to the first show.
listeners: { // Change content dynamically depending on which element triggered the show.
beforeshow: function updateTipBody(tip) {
var rowIndex = view.findRowIndex(tip.triggerElement);
tip.body.dom.innerHTML = "Over Record ID " + store.getAt(rowIndex).id;
}
}
});
});
4.其他方法
监听GridView或Store的事件,然后通过rowSelector或getRow方法来遍历,自己加tooltip... 这个方式请无视吧
分享到:
相关推荐
首先,EXTJS提供了两种主要类型的Tooltip:Ext.tip.ToolTip和Ext.grid.tooltip.GridTip。前者是通用的Tooltip类,适用于任何需要显示提示的地方;后者是专门为Grid定制的,能更好地与Grid的行和列配合工作。 实现...
ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...
本文将详细介绍如何在ExtJS中实现ToolTip,并通过一个具体的示例来展示其实现过程。 #### 示例概述 本示例展示了一个名为`WebApp.view.tip.ToolTip`的自定义组件,该组件继承自`Ext.container.Container`。此组件...
要实现EXTJS Grid到Excel的导出,一般会涉及以下几个步骤: 1. **获取Grid数据**:首先,你需要从Grid的Store中获取所有显示的数据。这可以通过遍历Store中的记录并提取字段值来完成。 2. **格式化数据**:Excel...
在ExtJs框架中,Grid组件是一种非常常用的展示数据表格的方式,它提供了丰富的功能,包括数据的排序、分页、过滤以及行选择等。在实际应用中,经常需要根据用户交互来判断Grid中的行是否被选中,以便进行下一步的...
首先,我们要明白EXTJS Grid的数据导出到Excel的过程通常涉及到以下几个步骤: 1. **获取Grid数据**:在EXTJS中,Grid的数据存储在Store对象中。要导出数据,我们需要先从Store中获取所有的记录。这可以通过调用`...
3. **行编辑**:EXTJS Grid支持行内编辑,用户可以直接在表格中修改数据,提供了一种直观的数据输入方式。通过配置`editable`属性和`editors`,可以指定哪些列是可编辑的。 4. **分页**:Grid可以通过`...
ExtJS Grid是Sencha ExtJS框架中的一个核心组件,它用于构建数据驱动的表格视图。Grid组件在Web应用中广泛使用,因为它提供了强大的数据展示、排序、分页、筛选和编辑功能。以下是对`ExtJS Grid`示例代码的详细解析...
这篇“ExtJS笔记——Grid实现后台分页”探讨了如何在ExtJS的Grid组件中实现高效的后台分页功能。 后台分页是一种常见的数据处理策略,特别是在大数据量的情况下,它将数据分批加载,避免一次性加载所有记录导致的...
因此,掌握如何在ExtJs Grid中实现多选功能以及如何获取已选中的所有值是非常重要的。 #### 二、实现多选功能 在ExtJs中,实现Grid的多选功能主要通过`CheckboxSelectionModel`来完成。下面将详细介绍如何设置并...
Grid的列配置是通过`columns`数组实现的,每个元素代表一列,可以设置列的标题、宽度、对齐方式、可编辑性等。例如: ```javascript columns: [{ text: 'Name', dataIndex: 'name', width: 200 }, { text: 'Age'...
在本文中,我们将深入探讨ExtJS Grid的分页功能及其实现方式。 首先,ExtJS Grid是一种强大的JavaScript组件,用于在Web应用中创建数据网格。它支持各种特性,如排序、过滤、分组、分页等。分页功能特别适用于处理...
EXTJS Grid的排序功能是基于其内部的Store对象实现的,Store中的每条记录都有一个对应的sortField和sortDir属性,用于记录当前的排序字段和排序方向。当你点击列头进行排序时,Grid会调用Store的sort方法,根据指定...
ExtJS Grid是一款强大的数据展示组件,常用于构建复杂的Web应用程序中的数据网格。多表头插件是ExtJS Grid的一个重要特性,它允许我们创建具有多层次、复杂结构的表头,以便更好地组织和呈现数据。在ExtJS Grid中,...
要实现EXTjs grid的双层表头,我们需要使用EXTjs的`column`配置和`headerContainer`组件。具体步骤如下: 1. 创建grid面板: 首先,创建一个EXTjs的grid面板,设置其基本属性,如store(数据源)和columns(列配置...
"Extjs Grid 扩展实例"是一个演示如何增强Grid功能的实践案例,通过这个实例,我们可以学习到如何在原有Grid的基础上进行自定义扩展,实现更复杂的数据管理和用户交互。 首先,"extend"在编程中通常意味着类的继承...
ExtJS 表格的功能实现,包括单元格编辑,数据的获取。
很多同事在用extjs grid做分页的时候,往往会想用grid的多选功能来实现导出Excel之类的功能(也就是所谓的多选记忆功能),但在选选择下一页的时候 上一页选中的已经清除 这是因为做分页的时候又向服务器请求了分页...
这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》
ExtJS Grid是一款强大的JavaScript组件,用于在Web应用中创建数据密集型的表格视图。它由Sencha公司开发,是Ext JS库的核心部分,广泛应用于企业级应用的前端开发,提供丰富的功能和高度的可定制性。这个"ExtJS_grid...