• EXTJS4.2——5.grid+form自适应


    <!--导入相应Extjs库-->
    <script src="~/Scripts/Extjs4.2/ext-all.js"></script>
    <link href="~/Scripts/Extjs4.2/resources/ext-theme-neptune/ext-theme-neptune-all.css" rel="stylesheet" />
    <script src="~/Scripts/Extjs4.2/ext-theme-neptune.js"></script>
    <script src="~/Scripts/jquery-3.3.1.min.js"></script>
    
    <script>
        Ext.onReady(function () {
            //声明button查询按钮
            var btnSubmit = Ext.create('Ext.Button', {
                text: '查询',
                //handler是用于设置按按键的时候使用的数据
                handler: function () {
                    ExtData.load();
                }
            });
    
            //声明Form组件
            var form = Ext.create('Ext.form.Panel', {
                title: '信息填写',
                //layout类型可以通过查找Ext.enums.Layout获取
                layout: 'column',
                height: 80,
                //判断是否填充满整个宽度
                forceFit: true,
                //设置组件在Panel中的上下位置
                bodyPadding: 10,
                //设置要插入的组件
                items: [{
                    xtype: 'textfield',
                    //部件名称
                    name: 'username',
                    //显示名称
                    fieldLabel: 'Name',
                    //判断是否允许空值
                    allowBlank: false  
                }, btnSubmit]
            });
    
            //store数据存储,通过store实现数据获取和数据转移
            var ExtData = Ext.create('Ext.data.Store', {
                storeId: 'employeeStore',
                fields: ['Name', 'Age', 'Address'],//表示在图标上展示的信息
                proxy: {
                    type: 'ajax',
                    actionMethods: 'post',
                    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);
                    }
                }
    
            });
    
            //定义一个表格组件
            var grid = Ext.create('Ext.grid.Panel', {
                //设置ID号
                id: 'gridPanel1',
                title: '详细信息',
                //这个不太懂
                store: Ext.data.StoreManager.lookup('employeeStore'),
                //设置表格的每列的属性和名称
                columns: [
                    { text: '姓名', dataIndex: 'Name' },
                    {
                        header: "操作",
                        dataIndex: 'name3',
                        renderer: function () { return '<button type="button" onclick="Reback()">发送消息</button>'; }
                    },
                    {
                        header: "部门",
                        dataIndex: 'typeCheck',
                        renderer: function () { return '<select><option value="it">IT部门</option><option value="soft">硬件部门</option>' }
                    },
                    { text: '年龄', dataIndex: 'Age' },
                    { text: '居住地', dataIndex: 'Address' }
                ],
                layout: 'fit',
                //这个forcefit的设置就比较重要了,可以尝试比较true和false的区别
                forceFit: true
            });
    
            //声明一个panel来放置form和grid
            var borderPanel = Ext.create('Ext.panel.Panel', {
                //自动获取屏幕大小
                layout: 'border',//这里设置panel的样式
                items: [
                    // xtype: 'panel' implied by default
                    {
                    region: 'center',
                    xtype: 'panel',
                    margins: '5 5 0 0',
                    items:[form,grid]
                }],
                renderTo: Ext.getBody()
            });
            
            //声明了一个HelloExt全局变量,具体定义查看Ext.app.Application
            Ext.application({
                name: 'HelloExt',
                launch: function () {
                    Ext.create('Ext.container.Viewport', {
                        layout: 'fit',
                        items: [borderPanel]
                    });
                }
            });
    
        })
    
    </script>
    


  • 相关阅读:
    jQuery自定义插件
    jQuery基础入门学习
    jQuery事件机制
    css实现块级元素的水平居中的2种常用方法
    文本编辑的css常用属性
    js的事件的绑定
    js正则表达式(常用)
    汇编初入门debug实操
    JAVA新手笔记 Intent对象和Bundle对象
    OS X运行AFNI的AlphaSim提示libgomp.1.dylib找不到的解决办法
  • 原文地址:https://www.cnblogs.com/LY-CS/p/13218061.html
Copyright © 2020-2023  润新知