zoukankan      html  css  js  c++  java
  • Ext.data.association.hasMany一对多模型使用示例

    来自《sencha touch权威指南》第11章,323页开始

    ---------------------------------------------------

    index.html代码:

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>sencha touch</title>
    <link rel="stylesheet" type="text/css" href="css/sencha-touch.css" />
    <script type="text/javascript" src="sencha-touch-debug.js"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
    <script type="text/javascript" src="app.js"></script>
    <style type="text/css">
    h3{background: blue;font-size: 14px;color:black;font-weight: bold;width:180px;border: solid 1px blue;background-color: skyblue;border-radius:20px;padding: 5px;}
    .listHeader{display: -webkit-box;-webkit-box-orient: horicontal;}
    .title{font-size: 14px;color: #FFF;text-align: center;background-color: #7088ab;width: 25%;}
    .students div{width: 25%;text-align: center;border: solid 1px #ccc;float: left;}
    .class{clear:left;}
    </style>
    </head>
    <body>
    
    </body>
    </html>

    app.js代码:

    Ext.require(['Ext.DataView','Ext.TitleBar','Ext.Toolbar','Ext.Panel']);
    Ext.application({
        name: 'MyApp',
        icon: 'images/icon.png',
        glossOnIcon: false,
        phoneStartupScreen: 'images/phone_startup.png',
        tabletStartupScreen: 'images/tablet_startup.png',
        
        launch: function(){
            Ext.define('Class',{
                extend: 'Ext.data.Model',
                config: {
                    fields: ['id','name','studentCount'],
                    hasMany:{
                        model: 'Student',name: 'students'
                    },
                    proxy:{
                        type: 'ajax', url: 'students.json'
                    }
                }
            });
    
            Ext.define('Student',{
                extend: 'Ext.data.Model',
                config: {
                    fields: ['number','name','age','phone']
                }
            });
    
            var template = new Ext.XTemplate(
                '<div class="class"><h3>{name}(学生人数:{studentCount})</h3>',
                '<div class="listHeader">',
                    '<div class="title">姓名</div>',
                    '<div class="title">学号</div>',
                    '<div class="title">年龄</div>',
                    '<div class="title">电话</div>',
                '</div>',
                '<tpl for="students">',
                '<div class="students">',
                    '<div id="name">{name}</div>',
                    '<div>{number}</div>',
                    '<div>{age}</div>',
                    '<div>{phone}</div>',
                '</div></tpl></div>'
            );
    
            var titlebar = Ext.create('Ext.TitleBar',{
                docked: 'top',
                title: '北京大学'
            });
    
            var dataview = Ext.create('Ext.DataView',{
                items: titlebar,
                itemTpl: template,
                selectedCls: 'selected',
                store: new Ext.data.Store({
                    model: 'Class',
                    autoLoad: true
                })
            });
    
            Ext.Viewport.add(dataview);
        }
    });

    students.json代码:

    [
    {
        "id": 1,
        "name": "2002级1班",
        "studentCount":3,
        "students":[
            {"number":"0802123","name":"张三","age":30,"phone":"0102222"},
            {"number":"0802124","name":"梁二","age":30,"phone":"0102233"},
            {"number":"0802128","name":"陈八","age":30,"phone":"0102255"}
        ]
    },
    {
        "id": 2,
        "name": "2002级2班",
        "studentCount":2,
        "students":[
            {"number":"0803111","name":"张三","age":20,"phone":"0202222"},
            {"number":"0803222","name":"梁二","age":20,"phone":"0202233"}
        ]
    }
    ]

    显示结果:

  • 相关阅读:
    java之day4补充
    java之day4
    JAVA之day3对象
    JAVA之DAY3
    JAVA之DAY2
    element-ui表格添加复选框及根据列表中的数据判断是否可选
    h5手机端上传多张图片(界面上的展示图片,删除图片)
    模态框-开启关闭事件
    Vue-粒子特效(vue-particles)
    网页常用代码片段-sessionStorage存储JSON
  • 原文地址:https://www.cnblogs.com/phpway/p/3462460.html
Copyright © 2011-2022 走看看