ExtJS Grid中文字链接点击事件的更合理的处理办法-阿里云开发者社区

开发者社区> 技术小美> 正文

ExtJS Grid中文字链接点击事件的更合理的处理办法

简介:
+关注继续查看

原文出处:http://showframework.tumblr.com/post/18375146539/extjs-grid
我们经常会给GridPanel中的某一个column加一个renderer,让它的内容可以变成一个链接,例如:

1
2
3
resultRenderer: function (value) {
    return ‘<a href=”http://www.example.com/”  >查看</a>’;
}

这样在Grid中,查看那两个字就变成链接了
如果点击这个查看的时候,想弹出窗口,那么我们最普通的方式,就是给链接加一个onclick响应函数,
onclick这里调用的函数,必然是通过全局的方式了,这样做有个缺点,就是全局函数的扩散,造成可维护性下降

其实,有一种更合理的处理办法,不论renderer中生成的是链接,还是其他的内容比如button,都是通用的
代码如下
首先给grid添加一个cellclick事件的响应函数

1
grid.on(‘cellclick’, grid.onCellClick, grid);

响应函数中做如下处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
onCellClick: function (grid, rowIndex, columnIndex, e) {
    if (e.getTarget().innerHTML === ‘查看’ ) { //借助事件的target来判断,这里是链接可以这样判断,其他方式亦可
        var record = grid.getStore().getAt(rowIndex);  // Get the Record
        var fieldName = grid.getColumnModel().getDataIndex(columnIndex); // Get field name
        var data = record.get(fieldName);//这个data就是点击的单元格的数据了,一定有用的
             
        if (fieldName == ‘this_column’) {
            //如果是这一列,做这个事
        }
             
        if (fieldName === ‘that_column’) {
            //如果是另外一列,做另外的事
        }
    }
}

这个方法,不仅可以处理链接,简化一下就是处理某个单元格点击,onCellClick的作用域还是grid,这个是重点, onCellClick还是在grid这个组件之内,而没有产生全局调用 ,另外点击  













本文转自yunlielai51CTO博客,原文链接:http://blog.51cto.com/4925054/1399612,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
持续更新 iText in Action 2nd Edition中文版 个人翻译
93页 This chapter covers 本章包括 ■ Constructing a  PdfPTable object构建一个PdfPtable对象 ■ Exploring the properties of a  PdfPCell  object研究PdfPCell属性 ...
1385 0
Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
在Android中,TextView是我们最常用的用来显示文本的控件。 <p>  一般情况下,TextView中的文本都是一个样式。那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下。</p> <p><br></p> <p>   res-layout-main.xml</p
1222 0
一个内存增长问题的分析和处理(二)——valgrind工具的用法
valgrind是linux下对C++和C程序进行内存泄露检测的工具,除了内存检测,valgrind还提供了很多其他的功能,这里主要介绍下valgrind的内存检测的功能。   首先是文件的下载,valgrind的官方网址是http://valgrind.org/,最新版本的valgrind是3.9,下载地址如下:http://valgrind.org/downloads/。
875 0
c# richTextBox显示一个txt文档出现中文乱码
1、参考解决方案 怎么读的呢? 如果是从文本中读的,考虑一下编码问题 FileStream fs = new FileStream(@"c:\你的文本.txt", FileMode.
1958 0
Android viewpager 嵌套 viewpager滑动 点击事件冲突解决方案
为了解决这个问题。可以自定义viewpager,然后在里面监听首饰,自定义点击事件   package com.hpuvoice.view; import android.content.
817 0
gridview自定义button事件 ,无法触发 onrowcommand
如题。 原因:按钮button有回传事件,当点击button,页面回传,已经将原来的页面的事件冲掉了。   解决方法: 1方法:  Page_Load方法里,添加if(!ispostback){//绑定gridview的值}   2方法:去掉button的回传事件,添加一个属性:UseS...
622 0
+关注
4435
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载