找回密码
 FreeOZ用户注册
查看: 4280|回复: 0
打印 上一主题 下一主题

[软件技巧] 如何使用ExtJs为表格单元格增加Tooltips(QuickTips)浮动信息

[复制链接]
跳转到指定楼层
1#
发表于 23-7-2008 08:01:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除, 无法发言

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
tJs证实了其十分强大的界面定制能力,其中的提供的ToolTips功能比HTML里的如下语句定制性更强,完全可以代替如下功能
<a href="http://dfdfd" title="TIPS">Some Text</a>


ExtJs是通过Ext.ToolTip和Ext.QuickTips两个组件来实现浮动提示功能的,其中Ext.ToolTip的定制功能很强,具体效果可以参考,具体配置代码如下,
ToolTip配置代码
1    /**//*
2

                               
登录/注册后可看大图
* Ext JS Library 2.1
3

                               
登录/注册后可看大图
* Copyright(c) 2006-2008, Ext JS, LLC.
4

                               
登录/注册后可看大图
* licensing@extjs.com
5

                               
登录/注册后可看大图
*
6

                               
登录/注册后可看大图
* http://extjs.com/license
7

                               
登录/注册后可看大图
*/
8

                               
登录/注册后可看大图

9

                               
登录/注册后可看大图

                               
登录/注册后可看大图
Ext.onReady(
function()

                               
登录/注册后可看大图
{
10

                               
登录/注册后可看大图

                               
登录/注册后可看大图
   
new Ext.ToolTip(

                               
登录/注册后可看大图
{
11

                               
登录/注册后可看大图
        target:
'tip1',
12

                               
登录/注册后可看大图
        html:
'A very simple tooltip'
13

                               
登录/注册后可看大图
    }
);
14

                               
登录/注册后可看大图

15

                               
登录/注册后可看大图

                               
登录/注册后可看大图
   
new Ext.ToolTip(

                               
登录/注册后可看大图
{
16

                               
登录/注册后可看大图
        target:
'ajax-tip',
17

                               
登录/注册后可看大图
        width:
200,
18

                               
登录/注册后可看大图

                               
登录/注册后可看大图
        autoLoad:

                               
登录/注册后可看大图
{url: 'ajax-tip.html'},
19

                               
登录/注册后可看大图
        dismissDelay:
15000
// auto hide after 15 seconds
20

                               
登录/注册后可看大图
    });
21

                               
登录/注册后可看大图

22

                               
登录/注册后可看大图

                               
登录/注册后可看大图
   
new Ext.ToolTip(

                               
登录/注册后可看大图
{
23

                               
登录/注册后可看大图
        target:
'tip2',
24

                               
登录/注册后可看大图
        html:
'Click the X to close me',
25

                               
登录/注册后可看大图
        title:
'My Tip Title',
26

                               
登录/注册后可看大图
        autoHide:
false,
27

                               
登录/注册后可看大图
        closable:
true,
28

                               
登录/注册后可看大图
        draggable:
true
29

                               
登录/注册后可看大图
    }
);
30

                               
登录/注册后可看大图

31

                               
登录/注册后可看大图

                               
登录/注册后可看大图
   
new Ext.ToolTip(

                               
登录/注册后可看大图
{
32

                               
登录/注册后可看大图
        target:
'track-tip',
33

                               
登录/注册后可看大图
        title:
'Mouse Track',
34

                               
登录/注册后可看大图
        width:
200,
35

                               
登录/注册后可看大图
        html:
'This tip will follow the mouse while it is over the element',
36

                               
登录/注册后可看大图
        trackMouse:
true
37

                               
登录/注册后可看大图
    }
);
38

                               
登录/注册后可看大图

39

                               
登录/注册后可看大图

40

                               
登录/注册后可看大图
    Ext.QuickTips.init();
41

                               
登录/注册后可看大图

42

                               
登录/注册后可看大图
}
);


但是Ext.ToolTip的缺点也是很明显的,他需要在配置中写入提示内容文本,这样如果想在表格中引用,给表格中的某一列增加浮动提示这种情况就很不方便,代码也会十分混乱。(当然有高手是可以通过函数解决这个问题的,请高手指点)。ExtJs2.0增加了一个扩展组件就是Ext.QuickTips实际上正好解决这个问题,支持在超文本中定义浮动提示的内容,这样用ASP.NET的数据绑定组件引用起来十分方便,界面也比HTML中的那个缺省的样式好看,唯一的缺点是QuickTips的定制没有ToolTip那么灵活,像上面展示的支持拖拽,鼠标点击关闭,AJAX都不好实现,但总比没有强。下面我就说说,这个QuickTips怎么具体配置,


首先在header里增加ExtJS的引用

<link rel="stylesheet" type="text/css" href="ext-2.1/resources/css/ext-all.css" />
<script type="text/javascript" src="ext-2.1/ext-base.js"></script>
<script type="text/javascript" src="ext-2.1/ext-all.js"></script>

                               
登录/注册后可看大图


然后再在header里对Ext.QuickTips配置
Ext.QuickTips.init(); 是必须的

Ext.apply(Ext.QuickTips.getQuickTip(),{...}); 是可选的,如果你想使用缺省配置,就完全可以省略掉这一段。

  • maxWidth 最大宽度
  • minWidth 最小宽度
  • showDelay 延时显示(毫秒)
  • trackMouse 随着鼠标移动
  • hideDelay 延时自动隐藏 (缺省为true)
  • closable 显示关闭图标(但是这个图标显然只是一个样子,鼠标点击不到它!)
  • autoHide 自动隐藏 (这个配置没用处,不管是真是假,都自动隐藏,实际需要用下面的dismissDelay来控制)
  • draggable 支持用鼠标拖动(实际上这个选项也不起作用,因为鼠标根本移动不到这里!)
  • dismissDelay 这个才是最有用的选项,否则你完全可以省掉这段Ext.apply的配置。因为缺省情况下这个浮动提示是经过一段时间以后就自动隐藏。只有通过设置这个值为0来关闭自动隐藏浮动提示!


<script type="text/javascript">
Ext.QuickTips.init();
Ext.apply(Ext.QuickTips.getQuickTip(),
{
//maxWidth: 200,
//minWidth: 100,
//showDelay: 50,
//trackMouse: true,
//hideDelay: true,  
//closable: true,
//autoHide: false,
//draggable: true,
dismissDelay:
0
}
);
</script>

                               
登录/注册后可看大图


最后在body里增加对Ext.QuickTips的引用,qtitile可以视情况而定可以省掉而仅仅保留qtip,在qtip里增加绑定内容。


                               
登录/注册后可看大图
<input type="button" value="OK"

                               
登录/注册后可看大图


                               
登录/注册后可看大图
class
="tip-target" ext:qtitle="OK Button" ext:qtip="This is a quick tip from markup!">

                               
登录/注册后可看大图


                               
登录/注册后可看大图
</input>

                               
登录/注册后可看大图


                               
登录/注册后可看大图


                               
登录/注册后可看大图
<asp: ListView

                               
登录/注册后可看大图
>

                               
登录/注册后可看大图


                               
登录/注册后可看大图

                               
登录/注册后可看大图


                               
登录/注册后可看大图
<ItemTemplate>

                               
登录/注册后可看大图


                               
登录/注册后可看大图
<div id="sample"

                               
登录/注册后可看大图


                               
登录/注册后可看大图
ext:qtitle
='<%# Eval("TipsTitleField") %>' ext:qtip='<%# Eval("TipsField") %>'>

                               
登录/注册后可看大图

   <%

                               
登录/注册后可看大图
# Eval("SampleField") %>

                               
登录/注册后可看大图


                               
登录/注册后可看大图
</div>

                               
登录/注册后可看大图


                               
登录/注册后可看大图
</ItemTemplate>

                               
登录/注册后可看大图


                               
登录/注册后可看大图
</asp: ListView>

[ 本帖最后由 xblues 于 23-7-2008 05:04 编辑 ]
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 17-11-2024 09:54 , Processed in 0.037552 second(s), 17 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表