zoukankan      html  css  js  c++  java
  • Ext4之杂七杂八

    直接上代码,看注释吧

    // Control里负责所有逻辑上的操作,显示图表的定义(define)全放到View里
    Ext.define('App.controller.com.XXXCtrl', { extend : 'Ext.app.Controller', views : ['com.XXXView'], // view层 stores : ['com.XXXStore'], // model层 init : function() { this.control({
           // XXXView是视图的别名,找到它下面直接的grid(如果grid嵌套在好几层的items里,就不是直接的grid了)
    'XXXView > grid' : { afterrender : this.onRender // 在这个grid渲染后,调用这个方法(即到后台请求数据) }, 'XXXView > grid tableview' : { expandbody : this.displayInnerChart, // 展开grid的某一行时,触发这个方法 collapsebody : this.destroyInnerChart }, 'XXXView button#search' : { // 找到button的itemId是search的按钮,添加一个点击事件 click : this.onBtnSchClick } }); }, onRender : function(_this, eOpts){ var startTime = new Date(); // 获取今天时间 startTime.setDate(startTime.getDate() - 7); // 系统会自动转换为7天前的时间 var endTime = new Date(); endTime.setDate(endTime.getDate() - 1);
         // 当前对象是grid,通过它向上找到Panel
    var formPanel = _this.up('XXXView'); // 页面第一次加载,默认查询条件赋值 formPanel.getForm().setValues({ a: 3, b: startTime, c: endTime }); this.queryData(formPanel); }, onBtnSchClick : function(_this, e, eOpts){ try{ var formPanel = _this.up('XXXView'); this.queryData(formPanel); }catch(e){ alert(e); } }, queryData : function(formPanel){
         // 最顶层的formPanel向下找到gird,拿到store,调用它的load方法 formPanel.down(
    'grid').getStore().load({ params : formPanel.getForm().getValues(), limit : 15 }); }, //显示图表 displayInnerChart : function( rowNode, record, expandRow, eOpts ){
           // 先构造出来图表
           var chart = Ext.create('App.view.com.XXXChart', {
             // 大括号里可以传属性,会覆盖掉定义好的 renderTo : record.get(
    'flag') // 渲染到哪,即它出现的位置,可以在div里 }); // 这是必杀技,不知道该怎么找组件了就用它,会返回一个数组! var form = Ext.ComponentQuery.query('XXXView')[0]; var params = form.getForm().getValues(); // Ext.apply(params, record.getData()); //这个方法也必须会,是快捷的复制方法,会把record里的所有参数复制进params,但这里用不到,主要因为Action中的参数名和页面不一致。 params.paramName = record.get('param'); chart.getStore().load({ params : params }); }, //销毁图表 destroyInnerChart : function( rowNode, record, expandRow, eOpts ){ var parent = document.getElementById(record.get('flag')); var child = parent.firstChild; while (child) { child.parentNode.removeChild(child); child = child.nextSibling; } } });
  • 相关阅读:
    java代码,继承。。。主要是传值,赋值。
    java代码继承。。。找出不能继承父类方法的问题
    java代码继承super
    HDU 6114 Chess
    #113. 【UER #2】手机的生产
    uoj 118 赴京赶考
    戏game
    序sort
    迷enc
    Jupyter 同时支持python2、python3 kernel
  • 原文地址:https://www.cnblogs.com/lukawa/p/3759955.html
Copyright © 2011-2022 走看看