Extjs4 Treepanel中添加右击事件

来源:互联网 发布:嘉华plc编程软件 编辑:程序博客网 时间:2024/05/12 01:24
Extjs4:     在Treepanel中右击树节点,触发的是itemcontextmenu函数。itemcontextmenu( Ext.view.Viewthis, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e, Object eOpts )
       参数中 record记录是当前节点的信息。

     参数中的 EventObject e 里设置 e.stopEvent() 就可以把浏览器默认的右击事件屏蔽掉。

Extjs3     Treepanel中则是contextmenu           contextmenu( Node node, Ext.EventObject e )
     参数中node是当前节点的信息。似乎只要监听了,不用其它设置属性就能屏蔽浏览器默认右击事件。
     3与4的函数不同,参数不同之外。保存的节点信息的对象也不同。     4里面是在【record.raw】这个对象里面,而3里面要获取当前节点信息是通过【node.attribute】

 

参考文章

http://www.blogjava.net/algz/articles/294297.html

extjs data-view 横排列

ExtJs Data-view 默认是横排列的 float:left 竖排列的原因是父容器的样式表没有正确加载

仔细读 官方 data-view.html 的例子。里面引用了一个 data-view.css 里面

#images-view .thumb-wrap{

    float: left;

    margin: 4px;

    margin-right: 0;

    padding: 5px;

}

# id . class

父级容器的 id = images-view 才能生效

如 data-view.js 中

Ext.create('Ext.Panel', {

        id: 'images-view',

自己开发的 desktop.css 中需要引用这段 css 并且将父级 id 设为 images-view

var view = Ext.create('Ext.view.View', {

            id:'images-view',

参考文章

http://www.17ext.com/showtopic-4804.aspx

如何为 data-view 设置右键菜单

参考文章

http://blog.sina.com.cn/s/blog_6543cca50100nj20.html


ExtJS 3 和 4 DataView 有区别

ExtJS 3

contextmenu

ExtJS 4

itemcontextmenu

4 的事件名字变了,参数个数和排列也变了

itemcontextmenu( Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e, Object options )

如何让右键单击空白处和右键单击文件夹的菜单不一样?

在监听中添加如下两个事件,后面为处理函数

containercontextmenu:containerRightClick,

itemcontextmenu:itemRightClick

function itemRightClick(dataView,records,items,node,e){

dataView.menu = Ext.create('Ext.menu.Menu', {      

                    items:

                    [

                    {

                        text:'重命名'

                    },

                    {

                        text:'删除'

                    }

                    ]

                });

            dataView.menu.showAt(e.getXY());

            e.stopEvent();  

        }

function containerRightClick(dataView,e){

                dataView.menu = Ext.create('Ext.menu.Menu', {

注意删掉这个判断,否则菜单创建一次之后,就不再改变了

if(!dataView.menu) {

 

原创粉丝点击