我的Ext Grid例子一

MsgSendPanel=function(){
 var panel=this;
 var path=getPath();
 var data=["测试短信发送。。","2010-08-12 15:36:21.0", "sa", "0", "1","21", "65", "13533445332", "总部", "001"];
 //数据信息
 var datastore=new Ext.data.Store({
   proxy : new Ext.data.HttpProxy({
    url : path+'/MessageServlet?tstate=querymessage'
   }),
  reader : new Ext.data.JsonReader({
   root : 'list',
   totalProperty : 'rowcount',
   fields:["message","stamp","username","state","messagetype","userid",
           "mid","call_no","corp_name","corp_no"]
  })  
    });
 datastore.load({params: {start:0,limit:10}}); 
 //数据显示
 var dataGrid=new Ext.grid.GridPanel({
  tbar: ['<b style="color:#15428B">[已发送信息」</b>', '->'],
  border:false,
  layout : 'fit',
  autoScroll : true,
  trackMouseOver : true,
  border : false,
  viewConfig : {
   forceFit : true,
   enableRowBody : true
  },
  store: datastore,
  cm: new Ext.grid.ColumnModel([
            new Ext.grid.RowNumberer(),  //自动行号
            {header: '短信内容',id:'message', dataIndex: 'message'},
            {header: '发送时间', dataIndex: 'stamp',width:90},
            {header: '发送人',   dataIndex: 'username',width: 90},
            {header: '短信ID',   dataIndex: 'mid',width:90,hidden:true},
            {header: '短信类型', dataIndex: 'messagetype',width: 90,renderer: renderTopic},
            {header: '用户ID',   hidden:true, dataIndex: 'userid',width: 90},
            {header: '机构名称', dataIndex: 'corp_name',width: 90},
            {header: '手机号码', dataIndex: 'call_no',width: 90},
            {header: '所属机构', hidden:true, dataIndex: 'corp_no',width: 90},
            {header: '是否成功', dataIndex: 'state',width: 90}
  ]),
  sm: new Ext.grid.RowSelectionModel({singleSelect:true})
     ,bbar:new Ext.PagingToolbar({
      pageSize: 10,
      displayInfo: true,
      store: datastore,
      displayInfo: true,
         displayMsg: '当前显示 {0} - {1}条记录   共 {2} 记录',
         emptyMsg: "没有任何记录" 
  })
  ,listeners:{
   'rowdblclick': function(grid, row){
    
   }
  }
 });
 //中间数据
 var centerPanel = new Ext.Panel({
  border:false,
  layout:'fit',
  region:"center",
  items:[dataGrid]
 });
 //开始日期
 var dateStart = new Ext.form.DateField({
  fieldLabel: '开始时间',
  format: 'Y-m-d H:i:s',
  width: 120,
  value : new Date(),
  allowBlank: false
 });
 //结束日期
 var dateEnd = new Ext.form.DateField({
  fieldLabel: '结束时间',
  format: 'Y-m-d H:i:s',
  width: 120,
  value : new Date(),
  allowBlank: false
 });
 //查询按钮
 var searchBtn = new Ext.Button({
    text : '查 询',
    handler:function(){
               if(!querPanel.getForm().isValid())
           {
              return ;
        }
      datastore.load({params: {start:0,limit:10}});  
      dataGrid.getStore().reload();
     }
  });
 //短信数据查询
 var queryPanel = new Ext.form.FormPanel({
  region: "center",
  border:false,
        height: 10,
        width: 700,
        frame: true,
        labelSeparator: ':',
        labelWidth: 60,
        labelAlign: 'right',
        layout : 'table',
  layoutConfig : {
   columns : 3
  },
  items:[{
      layout:"form",
      items:[dateStart]
    },{
      layout:"form",
      items:[dateEnd]
    },{
      layout : 'table',
      items : [{html:'<pre>   </pre>'},searchBtn]
    }]
 });
 //短信数据查询
 var searchinfo=new Ext.Panel({
  title:"短信查询",
  border:false,
  layout:'fit',
  region:"north",
  height:70,
  width:700,
  items:[queryPanel]
 });
 MsgSendPanel.superclass.constructor.call(this,{
  layout      : 'border',
     width       : 780,
     height      : 400,
     border  : true,
     items:[searchinfo,centerPanel]
 });
}
Ext.extend(MsgSendPanel, Ext.Panel); 
//获得链接地址
function getPath() {
 var location = document.location.toString();
 var temp=location;
 var contextPath = "";
 if(location.indexOf("://") != -1) {
  contextPath += location.substring(0, location.indexOf("//") + 2);
  location = location.substring(location.indexOf("//") + 2, location.length);
 }
 var index = location.indexOf("/");
 contextPath += location.substring(0, index+1);
 location = location.substring(index+1);
 index = location.indexOf("/");
 contextPath += location.substring(0, index+1); 
 return contextPath;
}
//修改信息类型
function renderTopic(value, p, record){ 
     if(value=="1") value="短信"
     if(value=="0") value="指令";
     return value;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用ExtJS 4.2.1的完整例子,可以将Grid表格导出为Excel文件: ``` Ext.require([ 'Ext.grid.*', 'Ext.data.*', 'Ext.util.*', 'Ext.toolbar.Paging', 'Ext.ux.exporter.Exporter' ]); Ext.onReady(function() { // 模拟数据 var data = []; for (var i = 0; i < 20; i++) { data.push({ name: 'User ' + i, email: 'user' + i + '@example.com', phone: '555-' + Ext.Number.randomInt(1000, 9999) }); } // 创建数据模型 Ext.define('User', { extend: 'Ext.data.Model', fields: ['name', 'email', 'phone'] }); // 创建数据源 var store = Ext.create('Ext.data.Store', { model: 'User', data: data, proxy: { type: 'memory', reader: { type: 'json', root: 'data' } } }); // 创建Grid表格 var grid = Ext.create('Ext.grid.Panel', { store: store, columns: [{ text: 'Name', dataIndex: 'name' }, { text: 'Email', dataIndex: 'email', flex: 1 }, { text: 'Phone', dataIndex: 'phone' }], width: 400, height: 200, dockedItems: [{ xtype: 'toolbar', dock: 'top', items: [{ xtype: 'button', text: 'Export to Excel', handler: function() { // 导出Excel Ext.ux.exporter.Exporter.exportGrid(grid, 'Excel', { title: 'User List' }); } }] }, { xtype: 'pagingtoolbar', store: store, dock: 'bottom', displayInfo: true }] }); // 渲染Grid表格 Ext.create('Ext.container.Viewport', { layout: 'fit', items: [grid] }); }); ``` 在上面的代码中,我们首先定义了一个模拟数据数组,然后创建了一个数据模型和一个数据源。接下来,我们创建了一个Grid表格,将数据源绑定到该表格中,并添加了一个工具栏和一个分页工具栏。在工具栏中,我们添加了一个按钮,当用户单击该按钮时,将调用Ext.ux.exporter.Exporter.exportGrid函数将Grid表格导出为Excel文件。 需要注意的是,我们使用了Ext.ux.exporter.Exporter类来执行导出操作。该类是ExtJS的一个扩展,需要在应用程序中明确声明。在本例中,我们使用了Ext.require函数来加载必需的类和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值