tasusparty
2009-08-13 12:14 阅读 206

EXTtbar里的组件怎么和servlet交互

我用EXTJS的GRID在页面显示一张表。通过servlet从数据库读取数据并通过servlet实现查询功能。读取数据实现。查询时希望在tbar上添加一些组件,通过servlet查询。我是才开始用EXT。以前写html时用的是表单。我把表单变量放到tbar。没显示。应该是不允许这样放置吧。那应该怎么实现呢? 代码如下:

Ext.onReady(function(){
     Ext.QuickTips.init();
     var sdt=new Ext.form.DateField({
            fieldLabel:'日期',
            emptyText:'请选择开始日期',
            format:'Y-m-d',
            disabledDays:false
      });   
   
    var stime=new Ext.form.TimeField({
             fieldLabel:'时间',
             emptyText:'请选择开始时间',
             width:100,
            //minValue:'12:00',
            // maxValue:'11:00',
            increment:10
    });
     var edt=new Ext.form.DateField({
            fieldLabel:'日期',
            emptyText:'请选择结束日期',
            format:'Y-m-d',
            disabledDays:false
      });   
   
    var etime=new Ext.form.TimeField({
             fieldLabel:'时间',
             emptyText:'请选择结束时间',
             width:100,
            //minValue:'12:00',
            // maxValue:'11:00',
            increment:10
    });
    
    var atype = new Ext.form.ComboBox({
            width:100, 
            fieldLabel : '攻击类型',  //UI标签名称
            name : 'attackType',   //作为form提交时传送的参数
            allowBlank : false,  //是否允许为空
            mode : 'local',      //数据模式,local为本地模式,
            readOnly : true,     //是否只读
            triggerAction : 'all',  //显示所有下列数.必须指定为'all'
            anchor : '90%',
            emptyText:'请选择...',
            store : new Ext.data.SimpleStore({  //填充的数据
            fields : ['value', 'type'],
            data : [['dos', 'dos'], ['scan', 'scan'], ['worm', 'worm']]
            }),
            valueField : 'value',  //传送的值
            displayField : 'type'  //UI列表显示的文本
        });
   
     var cm=new Ext.grid.ColumnModel([
      new Ext.grid.RowNumberer(
          {
            header:'NO.',
            width:30
          }
          ),
          {header:'timestamp',dataIndex:'timeStamp',width:200,sortable:true},
          {header:'attack_type',dataIndex:'attackType',width:150},
          {header:'dos',dataIndex:'dos'},
          {header:'scan',dataIndex:'scan'},
          {header:'worm',dataIndex:'worm'}
       ]);
   
       
    var ds=new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({url:'PreAttackType'}),
        reader: new Ext.data.JsonReader({
            totalProperty:'results',
            root:'rows'
        },[
            {name:'timeStamp'},
            {name:'attackType'},
            {name:'dos'},
            {name:'scan'},
            {name:'worm'}
     
           ]) 
      
       });
      
     var grid=new Ext.grid.GridPanel({
           el: 'pre_attack_type',
           ds:ds,
           cm:cm,
           title:"pre_attack_type表",
           width:800,
           autoHeight:true,
           border:true,
           collapsible:true,
           frame:true,
           enableHdMenu:true,
           footer:true,
          
        trackMouseOver:false,
        disableSelection:true,
           viewConfig:{
                forceFit:true
           },
           loadMask:true,
           tbar:[      
                        "开始时间:",
                        sdt,
                        stime,
                        "-",
                        "结束时间:",
                        edt,
                        etime,
                        "-",
                        "攻击类型:",
                        atype,
                        "-",
                        {
                            text:"查询",
                            cls:"x-btn-text-icon",
                            style:"margin-left:5",
                            icon:"images/filter.png",
                            handler:this.filterClick,
                            scope:this
                        }
           
           ],
           
           bbar:new Ext.PagingToolbar({
                          pageSize:10,
                          store:ds,
                          displayInfo:true,
                          displayMsg:'显示第{0}条到{1}条记录,一共{2}条',
                          emptyMsg:'没有记录'
                          
                    
                    })
      
      });
     
     
      grid.render();
      ds.load({params:{start:0,limit:10}});
   
})
 

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    zhoujuan520 zhoujuan520 2009-08-13 14:44

    可以是可以放。不过不推荐这样做。你可以点toolbar上面一个按钮弹出一个窗口,窗口中间放置表单,然后提交什么的

    点赞 评论 复制链接分享
  • iteye_10013 iteye_10013 2009-08-13 12:18

    通过ajax交互,然后操作toolbar即可.

    你需要从servlet获取到什么?

    点赞 评论 复制链接分享

相关推荐