`
JavaCrazyer
  • 浏览: 3009135 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

使用ExtJS之Grid有感而发,贡献示例给大家

阅读更多

 

最近研究ExtJs觉得官方示例代码有些过多,尤其是Grid的使用代码有的几乎没有太大作用。本人在仔细研究后写出了如下一个精简的Grid示例,希望能给大家带来点帮助 附带图片效果在附件中 首先,上官方下载资源包大家应该都很熟悉了

HTML页面代码通常是这样的

 <html>
  <head>
    <title>My JSP 'index.jsp' ExtjsServlet page</title>
          <script type="text/javascript" src="js/adapter/ext/ext-base.js"></script>
        <script type="text/javascript" src="js/ext-all.js"></script>  
     <link rel="stylesheet" type="text/css" href="js/resources/css/ext-all.css" />  
      <script type="text/javascript" src="js/js.js" ></script>
  </head>
  <body>
   <input  type="button"  id="remove" value="remove" />
    <div id="grid"></div>
  </body>
</html>

 

第二步当然是核心了,我的JS文件中的代码

Ext.onReady(function(){
    var cm = new Ext.grid.ColumnModel([
        new Ext.grid.RowNumberer(),
        //设置网格大标题
        {header:'编号',dataIndex:'id',sortable:true,
            editor:new Ext.grid.GridEditor(new Ext.form.TextField(
            {
                allowBlank:false
            }))},
        {header:'价钱',dataIndex:'price',sortable:true,
        editor:new Ext.grid.GridEditor(new Ext.form.TextField(
            {
                allowBlank:false
            }))},
        {header:'性别',dataIndex:'sex',sortable:true,width:200,renderer:renderSex}
    ]);
    
    function renderSex(value)
    {
        if(value=='女')
        {
            return "<span style='color:red'>"+value+"</span>";
        }
        else
        {
            return "<img src='js/drop-yes.gif'/> <span style='color:greed'>"+value+"</span>";
        } 
    }
    
    var store= new Ext.data.Store({
        proxy:new Ext.data.HttpProxy({url:'ExtJs.do'}),//请求URL
        reader:new Ext.data.JsonReader({//从JSON中读取的数据
                totalProperty:'totalProperty',//获取总共的记录数
                root:'root'//这个必须设定值否则网格里面没有内容.值不一定是ROOT,其他的也行
            },[
                {name:'id'},
                {name:'price'},
                {name:'sex'}
            ])
        });
    //网格视图设置
    var grid =  new Ext.grid.EditorGridPanel({
        title:'ORDER表查询记录显示结果',
        renderTo:'grid',//这个参数必须设定否则显示空白页面
        store:store,
        cm:cm,
        loadMask:true,//这个对刷新按钮起作用
        width:400,
        height:200,
        //试图下方分页工具条显示的内容
         bbar : new Ext.PagingToolbar({
              store : store,
              pageSize : 4,//每页显示的数目应该与limit的值保持一致
              displayInfo : true,//设置是否显示信息
              beforePageText:"第",
              afterPageText:"/ {0}页",
              displayMsg : "当前记录从 {0} - {1} 总 {2} 条记录",
              emptyMsg : "没有相关记录!",
             })
    });
    //点击删除按钮可以移除当前视图中的一项,但是刷新后仍然是原来的样子,并没有删除数据库中的数据
    Ext.get('remove').on("click",function(){
         store.remove(store.getAt(1));
         grid.view.refresh();
    },this);
   //初始化参数,start表示从第几条开始查询,limit表示查询多少条记录,start与limit是提交请求时的请求参数,不可修改必须写成这样
    store.load({params:{start:0,limit:4}});
});

  

以上的JS代码我采用的是配合JSON来替换值的方法做的,所以在处理业务逻辑时,比如在ACTION中的代码也显得很重要

 BaseForm bf=(BaseForm)form;
        Order1Dao dao=new Order1DaoImpl();
        System.out.println(bf.getStart()+"================================"+bf.getLimit());
        List<Order1> orders=dao.listall(bf.getStart(),bf.getLimit());
        int total=dao.getTotal();
        StringBuilder s= new StringBuilder("   {totalProperty:"+total+",pageNo:"+bf.getStart()+",pageSize:"+bf.getLimit()+",root:[");
        int i=0;
        for(Order1 order:orders){
            i++;
            s.append("{id:'"+order.getId()+"',price:'"+order.getPrice()+"',sex:'"+order.getSex()+"'}");
            if(i<5)
            {
                s.append(",");
            }
            
            
        }    
         s.append("]}");
         response.setContentType("text/html;charset=utf-8");
         response.getWriter().write(s.toString());

 

   怎么样?运行起来看看吧,是不是简单许多呢?

2
0
分享到:
评论

相关推荐

    extjs grid示例代码

    以下是对`ExtJS Grid`示例代码的详细解析: 1. **Grid的基本结构** - `Ext.grid.Panel`:这是Grid组件的基础类,它包含了一个可配置的列模型(column model)、数据源(store)以及视图配置。 - `store`:存储...

    Extjs4 grid使用例子

    在给定的"Extjs4 grid使用例子"中,我们可以深入理解如何在MVC架构下有效地利用ExtJS4的Grid组件。Grid组件是ExtJS中的核心部分,它提供了一个灵活的、可定制的数据展示网格,通常用于显示和操作大量数据。 1. **...

    EXTJS4 表格GRID示例

    EXTJS4 GRID 表格 分页 编辑 添加判断 颜色判断 分组 等示例

    ExtJS grid过滤操作

    在myapp4项目中,你可能会找到相关的代码示例,展示了如何在实际应用中配置和使用ExtJS Grid的过滤功能。通过阅读和理解这些代码,你可以更好地理解和应用上述理论知识。 总结来说,ExtJS Grid的过滤操作提供了...

    Extjs动态Grid的生成 htm

    Extjs动态Grid的生成 htm

    Extjs4.2 Grid filter Demo 表格过滤实验

    这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》

    ExtJS 使用grid显示数据

    这篇博客文章 "ExtJS 使用grid显示数据" 可能详细阐述了如何利用ExtJS的Grid面板来展示和操作数据。 在ExtJS中,Grid Panel是一种数据驱动的组件,它允许开发者以表格的形式展示大量数据,并且支持分页、排序、过滤...

    ExtJS静态使用示例

    ExtJS是一种广泛应用于Web开发的...总的来说,"ExtJS静态使用示例"提供了一个学习和实践ExtJS基础功能的机会,通过Grid、Panel和Tree的使用,可以帮助开发者掌握如何在Web应用中构建交互性和功能性丰富的用户界面。

    extjs grid数据导出excel文件

    EXTJS是一个强大的JavaScript框架,主要用于构建富客户端应用。在EXTJS中,Grid控件是用于展示大量结构化数据的关键组件,具有丰富的功能和...对于EXTJS开发者而言,掌握这一功能有助于提升应用的实用性和用户体验。

    ExtJs Grid选择行

    在ExtJs框架中,Grid组件是一种非常常用的展示数据表格的方式,它提供了丰富的功能,包括数据的排序、分页、过滤以及行选择等。在实际应用中,经常需要根据用户交互来判断Grid中的行是否被选中,以便进行下一步的...

    EXTJS 4 树形表格组件使用示例

    在提供的压缩包文件"extjs4.1_TreeGrid"中,可能包含了一些EXTJS 4树形表格组件的示例代码和资源,通过学习和分析这些示例,你可以更好地理解如何在项目中应用这个组件。 总结来说,EXTJS 4的树形表格组件是一个...

    ExtJs6.5Grid列表导出(包含样式)

    Grid列表通常用于展示大量结构化的数据,而导出功能可以帮助用户将这些数据保存到本地,方便进一步分析或共享。本文将深入探讨如何利用ExtJs的相关控件类来实现一个自定义的Grid列表导出功能,同时保持列表的样式。 ...

    EXTJS grid导出EXCEL文件

    4. **源码使用**:提到“源码可以直接导入MYECLIPSE使用”,这意味着提供的是一个实际的代码示例,你可以直接在MyEclipse(一个流行的Java集成开发环境)中打开并运行,以便学习和理解如何实现EXTJS Grid到Excel的...

    ExtJs动态grid的生成

    在IT领域,ExtJS是一个广泛使用的JavaScript库,用于构建富客户端Web应用程序,特别是那些需要复杂用户界面的应用。本文将深入探讨如何在ExtJS中动态生成Grid,这是一个非常实用的功能,可以适应不断变化的数据需求...

    Extjs动态GRID

    描述中提到的“增加框也能根据表的不同而不同”,这可能指的是EXTJS中的Container组件可以根据Grid的变化动态调整其内容。例如,可以使用Container来承载Grid,当Grid的列数或列类型改变时,Container可以相应地调整...

    extjs grid

    在EXT4.2.1这个压缩包中,可能包含了EXTJS 4.2.1的完整库文件、示例代码、文档和其他资源,可以帮助开发者快速上手EXTJS Grid的开发。通过学习和实践这些资源,开发者能够熟练掌握EXTJS Grid的使用,构建出功能强大...

    ExtJs grid多选时获取选中的所有值

    其中,Grid Panel(简称 Grid)是ExtJs中最常用的一个组件之一,用于展示表格数据。在实际业务场景中,经常需要支持用户对表格中的多行数据进行选择,并执行批量操作,如删除、编辑等。因此,掌握如何在ExtJs Grid中...

    extjs4打印grid插件

    打印Grid插件是为了满足这种需求而设计的,它允许开发者扩展ExtJS4 Grid Panel的功能,使其具备打印能力。这个插件通常包含一系列方法和配置选项,用于自定义打印样式、布局以及要打印的数据范围。 在"extjs4-ux-...

    Extjs Tree + JSON + Struts2 示例源代码

    这个示例中,ExtJS用于前端UI的构建,JSON作为数据交换格式,而Struts2则作为后端MVC框架处理请求和返回数据。 1. **ExtJS Tree**: ExtJS 是一个强大的JavaScript库,专门用于创建富客户端应用程序。其中的Tree组件...

    Extjs grid 中文排序问题修正

    在EXTJS开发中,我们经常会遇到使用Grid组件展示数据的情况,特别是当数据包含中文字符时,可能会遇到排序问题。EXTJS Grid默认的排序机制对于英文字符处理得较好,但对于中文字符,由于编码和比较规则的不同,可能...

Global site tag (gtag.js) - Google Analytics