Extjs3.2 grid简单例子1



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">     
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk">
<title>团队列表管理</title>
<!--  如果改变位置路径需要修改 -->
<script type="text/javascript" src="../js/pub.js"></script>//根据自己的路径修改
<script type="text/javascript">
 var addwin, addformPanel, grid1,record2,orgName,team_no,store;
 Ext.onReady(function() {
  Ext.QuickTips.init();//启动悬浮提示,默认情况下悬浮提示没有启动
  var url = '/Mobile_Server/admin/teamToEmployee.do';
  var percentage = '95%';//显示百分比
  var pageSize = 4;//当前页显示的信息条数
  var addflag = true;
  
  var condition1 = new Ext.form.TextField({
   fieldLabel : "团队名称",
   vtype : 'special',
   maxLength : '60',
   anchor : '95%',
   name : 'orgName',
   listeners : {//回车事件 
                specialKey : function(field, e) { 
                    if (e.getKey() == Ext.EventObject.ENTER) {//响应回车 
                     store.baseParams['orgName'] = queryForm.form
      .findField('orgName')
      .getValue();
      store.load({
        params : {
         start : 0,
         limit : pageSize
        }  
      });
                    } 
                } 
            }
  });
  

  var queryForm = new Ext.FormPanel({
   region : 'north',
   labelAlign : 'right',
   labelWidth : 150,
   frame : true,
   bodyStyle : 'padding:0px 0px 0',
   buttonAlign : 'center',
   height : 180,
   items : [ {
    columnWidth : 0.6,
    rowHeight : 0.6,
    xtype : 'fieldset',
    title : '团队列表管理',
    collapsible : false,
    autoHeight : true,
    layout : 'column',
    defaults : {
     width : 200
    },
    defaultType : 'textfield',
    style : {
     "margin-top" : "0%",
     "margin-left" : "0%",
     "margin-right" : "0%"
    },
    items : [
      {
       columnWidth : 0.25,
       rowHeight : 0.1,
       xtype : 'fieldset',
       defaultType : 'textfield',
       bodyStyle : Ext.isIE ? 'padding:0 0 0px 0px;'
         : 'padding:10px 15px;',
       border : false,
       style : {
        "margin-left" : "0%", // when you add custom
        "margin-right" : "0%" // you have to adjust for it
       },
       labelAlign : 'right',
       items : [ condition1 ]
      }
    ]
   } ],
   buttons : [ 
     {
      text : '查询',
      handler : function() {
       store.baseParams['orgName'] = queryForm.form
       .findField('orgName')
       .getValue();
       store.load({
         params : {//传参数
          start : 0,
          limit : pageSize
         }  
       });
       
      }
     },  {
      text : '重置',
      handler : function() {
       queryForm.form.reset();
      }
     },{
      text : '显示全部',
      handler : function() {   
       alert("not yet!");
      }
     }
     ]
  });

  var basisData = new Object;
  basisData.getNewData = function() {
   return Ext.data.Record.create([
       {
    name : 'org_name',
    mapping : 'org_name' //这个跟后台返回的json字段对应
    }, {
    name : 'org_no',
    mapping : 'org_no'
    }, {
    name : 'shouru',
    mapping : 'shouru'
    }, {
    name : 'shangji',
    mapping : 'shangji'
    }, {
    name : 'finish_rate',
    mapping : 'finish_rate'
    },{
    name : 'zhibiao',
    mapping : 'zhibiao'
    }

   ]);
  };

//

//{"totalsize":"5","result":"888000","analyzes":[{"org_name":"顺义组","finish_rate":"50000","org_no":"2018","zhibiao":"2","shouru//":"10","shangji":"10"},{"org_name":"大兴组","org_no":"2009"},{"org_name":"海淀组","org_no":"2015"},{"org_name":"朝阳组","org_no"://"2012"}],"desc":"查询列表成功"}

  var reader = new Ext.data.JsonReader({
   id : 'id',
   totalProperty : 'totalsize',//后台返回的json字段,表示信息总条数
   root : "analyzes",//后台返回的json数据
   remoteSort : true//是否支持远程排序
  }, basisData.getNewData());
  store = new Ext.data.Store({
   baseParams : {
    operFlag : 'team'
   },
   proxy : new Ext.data.HttpProxy({
    url : url,
    method : 'POST'//这个好像是必写的,要不写后台拿不到limt和start 
   }),
   reader : reader
  });
  store.load({
   params : {
    start : 0,
    limit : pageSize
   }
  });
    
  grid1 = new Ext.grid.EditorGridPanel({//以下是显示数据
   region : 'center',
   store : store,
   stripeRows : true,//斑马线
   cm : new Ext.grid.ColumnModel([
   new Ext.grid.RowNumberer(),
   {
    header : "团队名称",
    width : 15,
    sortable : true,
    dataIndex : 'org_name',//与上面的name要对应
   }, {
    header : "团队id",
    width : 15,
    sortable : true,
    dataIndex : 'org_no',
   }, {
    header : "商机数量",
    width : 15,
    sortable : true,
    dataIndex : 'shangji',
   }, {
    header : "收入",
    width : 15,
    sortable : true,
    dataIndex : 'shouru'
   },{
    header : "指标",
    width : 15,
    sortable : true,
    dataIndex : 'zhibiao'
   }, {
    header : "完成率",
    width : 15,
    sortable : true,
    dataIndex : 'finish_rate',
    renderer : function(value){
     if (value == 0){
      return "<span style='color: red; font-weight: bold;'>0%</span>";
     }else if(value == 100){
      return "<span style='color: green; font-weight: bold;'>100%</span>";
     }
     else{
      return value/100+"<span>%</span>";
     }    
                    }
   }, {
    header : "操作",
    width : 15,
    sortable : true,
    dataIndex : 'operate',
    renderer : renderOper
   }  ]),

   loadMask : true,//store.load()完成之前会一直显示“Loading...”
   buttonAlign : 'center',
   //分页
   bbar : new Ext.PagingToolbar({//bbar是将分页工具条放到底部,tbar是放在顶部
    pageSize : pageSize,
    store : store,
    displayInfo : true
   }),
   viewConfig : {
    forceFit : true,//自动调剂表格宽度
    showPreview : true,//初始显示预览效果,这个是自定义的属性
    columnsText : '显示列',
    sortAscText : '升序',
    sortDescText : '降序'
   },
   emptyMsg : "没有数据",
   frame : true,//Panel是圆角框显示
   height : 250,
   collapsible : true,//伸缩
   animCollapse : false,
   iconCls : 'icon-grid'
  }); 

  new Ext.Viewport({//VeiwPort表示整个浏览器显示区域,该对象渲染到页面的body区域,并会随着浏览器显示区域的大小自动改变,一个页面中只能有一个ViewPort实例
   layout : 'border',
   monitorResize : true,
   items : [ queryForm ,grid1]
  });

 });
 function renderOper(value, metaData, record, rowIndex) {
  team_no = store.getAt(rowIndex).get('org_no');
  var team_name = store.getAt(rowIndex).get('org_name');
  var str = '<a href="/Mobile_Server/pc/employeeList.html?operFlag=employee&team_no='+team_no+'">详细信息</a>&nbsp;&nbsp;';//&nbsp;是空格
  str += '<a href="/Mobile_Server/pc/charts/chart.html?team_no='+team_no+'">图表分析</a>';
  return str;
 }


</script>
</head>
<body>
 <div id="vipMsg"></div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值