zoukankan      html  css  js  c++  java
  • EXTJS4.2——9.添加tree节点,并添加点击事件

    Ext.onReady(function () {
    
            //添加tree菜单
            var treeLocal = new Ext.tree.TreePanel({
                title: '选择框',
                root: {
                    text: '选择菜单',
                    expanded: true,
                    leaf: false,
                    children: [
                        { text: '小小菜单', leaf: true }
                    ]
                },
                listeners: {
                    itemclick: function () {
                        alert("6666666");
                    }
                }
    
            });
    
            //fit 布局
            var borderPanel = Ext.create('Ext.panel.Panel', {
                //自动获取屏幕大小
                title: 'Border布局',
                layout: 'border',//这里设置panel的样式
                items: [{
                    // xtype: 'panel' implied by default
                    title: 'West Region is collapsible',
                    region: 'west',
                    xtype: 'panel',
                    margins: '5 8 4 5',
                     200,
                    collapsible: true,
                    id: 'west-region-container',
                    layout: 'fit',
                    items:treeLocal
                }, {
                    title: 'Center Region',
                    region: 'center',
                    xtype: 'panel',
                    margins: '5 5 0 0',
                    items: [form, grid]
                }],
                renderTo: Ext.getBody()
            });
            Ext.application({
                name: 'HelloExt',
                launch: function () {
                    //viewport:表示浏览器的专用容器,能够自动将其自身调整为浏览器窗口大小,一个页面只能创建一个viewport。
                    Ext.create('Ext.container.Viewport', {
                        layout: 'fit',
                        items: [borderPanel]
                    });
                }
            });
        })
    
        var btnSubmit = Ext.create('Ext.Button', {
            text: '查询',
            //handler是用于设置按按键的时候使用的数据
            handler: function () {
                ExtData.load();
            }
        });
    
        var form = Ext.create('Ext.form.Panel', {
            title: '信息填写',
            layout: 'column',
            //这一步十分重要的,去掉宽度,然后设置自适应,然后这里父窗口不用设置fit
            height: 80,
            // 600,
            bodyPadding: 10,
            forceFit: true,
            items: [{
                xtype: 'textfield',
                name: 'username',
                fieldLabel: 'Name',
                allowBlank: false  //判断是否允许空值
            }, btnSubmit
            ]
        });
    
    
        var ExtData = Ext.create('Ext.data.Store', {
            storeId: 'employeeStore',
            //表示在图标上展示的信息
            fields: ['Name', 'Age', 'Address'],
            proxy: {
                type: 'ajax',
                actionMethods: 'post',
                //url会自动连接前面的部分,组合成可使用的完整网络连接
                url: '/GridPanel/MessageBack',
                reader: {
                    type: 'json',
                    //数据传输的话,注意里面的变量必须一一对应
                    root: 'data',//注意點
                    //数据传输的话,注意里面的变量必须一一对应
                    totalProperty: 'total'
                }
            },
    
            autoLoad: true,
            listeners: {
                beforeload: function (store, operation, eOpts) {
                    //將查詢條件傳遞到後台
                    var postData = {
                        username: $("input[name='username']").val()
                    };
                    Ext.apply(store.proxy.extraParams, postData);
                }
            }
        });
        //ExtData.load();
    
        var grid = Ext.create('Ext.grid.Panel', {
            title: '详细信息',
            store: Ext.data.StoreManager.lookup('employeeStore'),
            columns: [
                { text: '姓名', dataIndex: 'Name' },
                { text: '年龄', dataIndex: 'Age' },
                { text: '居住地', dataIndex: 'Address' }
            ],
            layout: 'fit',
            forceFit: true
        });
    


    树的基本操作事件

    //目录树单击事件
    'itemclick' : function(view, rcd, item, idx, event, eOpts) {
    var dirid = rcd.get('id'); //节点id
    var dirtype = rcd.raw.dirtype; //自定义数据
    
    //目录树双击击事件
    'itemdblclick' : function(view, rcd, item, idx, event, eOpts) {
    var dirid = rcd.get('id'); //节点id
    var dirtype = rcd.raw.dirtype; //自定义数据
    },
    //目录数右键事件
    'itemcontextmenu' : function(view, rcd, item, idx, event, eOpts) {
    event.preventDefault();
    this.showTreeItemMenu(rcd, event); //自定义处理函数
    }
    

    点击后

  • 相关阅读:
    php Composer 报ssl证书错误
    centos svn服务器安装
    nginx配置 php 单入口
    centos nginx 安装
    Zend Studio的配置和使用
    不要让别人笑你不能成为程序员
    10个用于Web开发的最好 Python 框架
    分析和解析PHP代码的7大工具
    php模拟用户自动在qq空间发表文章的方法
    PHP中实现MySQL嵌套事务的两种解决方案
  • 原文地址:https://www.cnblogs.com/LY-CS/p/12749598.html
Copyright © 2011-2022 走看看