`
zhf20012
  • 浏览: 5614 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Ext表格-基本表格和表格增删修

    博客分类:
  • Ext
阅读更多

  研究Ext有一段时间了,对Ext表格的学习心得写出来和大家一起分享。

 1.表格的建立

     建立表格基本上分3步骤:

     (1)数据获取

     (2)定义表头,即就是定义表格的列名,宽度,是否可以排序等

     (3)绑定数据和表头

     表格的一些其他特征也是在这些步骤当中实现的,我们以一个列子来说明表格的建立哈

  var com_id;
  var com_table_field = new Ext.data.Record.create([{//定义数据的字段
             name:"com_id"
             },{
             name:"com_num"
             },{
                   name:"com_name"
             },{
                      name:"com_pren"
             },{
             name:"com_tel"
             },{
             name:"com_memo"
             }]);
  var com_table_store = new Ext.data.Store({//从后台获取数据
             proxy:new Ext.data.HttpProxy({
                  url:"companytableAction.do"
                  })
             ,reader:new Ext.data.JsonReader({
                     totalProperty:"totalProperty"
                     ,root:"root"
                     }
                     ,com_table_field
                     )
             });

  
   var com_table_cm = new Ext.grid.ColumnModel([//建立表头,即列的属性
               new Ext.grid.RowNumberer()//编号
               ,new Ext.grid.CheckboxSelectionModel()//可选择框
               ,{
                header:"主键"//列名
                ,dataIndex:"com_id"//和com_table_field定义的相对应 
                ,width:50//定义了列宽
                ,disabled:false//不能编辑
                ,hideable:false //隐藏列下拉框中选择项里面该项的内容
                ,hidden:true//隐藏列
               },{
                header:"编号"
                ,dataIndex:"com_num"
                ,width:50
                ,sortable:true
               },{
                header:"公司名称"
                ,dataIndex:"com_name"
                ,width:150
                ,sortable:true//排序
               },{
                header:"系统负责人"
                ,dataIndex:"com_pren"
                ,width:100              
               },{
                header:"联系电话"
                ,dataIndex:"com_tel"
                ,width:100              
               },{
                header:"备注"
                ,dataIndex:"com_memo"
                ,width:150              
               }
               ]);
  var com_grid = new Ext.grid.GridPanel({//数据绑定
            ds:com_table_store//数据
            ,cm:com_table_cm//表头
            ,width:600//表格的宽度
            ,height:300//表格的高度
            ,enableHdMenu:true//列表头的下拉框,true为显示,falsh为不显示
            ,loadMask:{
             msg:"正在加载数据,请稍候..."
             }//数据加载时候显示
            ,trackMouseOver:true//鼠标滑过时的高亮效果
            ,tbar: new Ext.Toolbar({//表格上方的按钮
                     items:[{
                        text:"添加"
                      },{
                        text:"修改"
                      },{
                        text:"删除所选"
                     ,handler:function(e){
                      var com_rows = com_grid.getSelectionModel().getSelections();//获取你选择的行
                      if(com_rows.length==0){
                       Ext.MessageBox.alert("警告","请选择要删除数据!");
                      }else{
                       Ext.MessageBox.confirm("警告","确定删除以选数据?",function(ret){
                       if(ret=="yes"){
                         var com_id_del = new Array(com_rows.length);
                         for(var i=0;i<com_rows.length;i++){
                        com_id_del[i]=com_rows[i].get("com_id");
                         }
                         Ext.get(document.body).mask("请稍候,请求提交中....","x-plain");
                         var com_id_str = com_id_del;
                                                                      Ext.Ajax.request({
                           //Ext.getBody.mask("请稍候,数据提交中....","x-mask-loading");
                           url:"dcomAction.do?p_com_id="+com_id_str+""//提交要删除数据的主键
                           ,success:function(response, options){
                            var obj = Ext.util.JSON.decode(response.responseText);
                            Ext.MessageBox.alert("警告",obj.Mag);
                            for(var i=0;i<obj.result;i++){
                             com_table_store.remove(com_rows[i]);
                            }
                            Ext.get(document.body).unmask();
                           }
                           ,failure:function(){
                            Ext.get(document.body).unmask();
                            Ext.MessageBox.alert("警告","删除失败");
                            }
                           })                       
                       }
                                   })
                      }
                     }
                      }]
                   })
            ,bbar: new Ext.PagingToolbar({
                      pageSize:10
                   ,store:com_table_store
                   ,displayInfo:true
                   ,displayMsg:"显示第 {0} 条到 {1} 条记录,一共 {2} 条"
                   ,emptyMsg:"没有数据"
                    })
           
          });

分享到:
评论

相关推荐

    Ext左树有表格 增删改查

    总的来说,"Ext左树有表格 增删改查"是一个常见的UI设计模式,它结合了ExtJS的树形组件和表格组件,提供了灵活的数据展示和操作方式。通过合理配置和事件绑定,可以实现功能丰富的管理界面。在实际项目中,还需要...

    Ext表格中增删改查实例

    在"增删改查"实例中,我们将利用`Ext.grid.Panel`的配置项和事件来实现对表格数据的操作。 1. **创建表格(Create)** 创建数据通常涉及到在表格中添加新行。在Ext JS中,我们可以使用`store`对象的`add()`方法来...

    基于EXT2.0.2表格间数据拖拽

    总结来说,EXT2.0.2的表格间数据拖拽涉及到EXT Grid、DataStore、DragDrop和DropTarget的使用,通过这些组件和接口的组合,开发者可以创建出高度交互、功能丰富的Web应用。实现这一功能需要对EXT的API有深入的理解,...

    ext表格布局小例子

    其表格组件(`Ext.grid.GridPanel`)是其最具特色的功能之一,广泛应用于数据展示和管理。 #### 二、代码分析 在本例中,我们首先引入了必要的 ExtJS 相关文件,包括样式表、脚本等资源。 ```html ...

    Ext表格代玛

    Ext表格代玛

    Ext-Gantt和相关js如ext-all.js ext-base

    `ext-base.js`是Ext JS的基础文件,包含框架的基本结构和核心功能,如类系统、事件系统和DOM操作。在一些情况下,如果项目对加载速度有较高要求,可以先加载`ext-base.js`,然后再按需加载其他组件,以实现按需加载...

    js ext-4.0.7-gpl

    1. **组件化开发**:ExtJS 提供了一套完整的组件模型,包括按钮、表格、表单、树形结构、面板等,使得开发者可以像搭积木一样构建复杂的用户界面。 2. **数据绑定**:框架支持双向数据绑定,这意味着视图层的变化会...

    Ext扩展控件-----可以在代码中动态为表格增加一列或者删除一列

    在EXT JS这个强大的JavaScript框架中,开发者经常需要处理各种数据展示和操作,而表格(Grid)是其中常用的一种组件。EXT Grid控件提供了一个灵活且功能丰富的界面来展示和操作数据,而“Ext扩展控件”则进一步增强...

    ext-addons-7.6.0-trial

    "ext-addons-7.6.0-trial" 是一个与ExtJS库相关的扩展包,它提供了7.6.0版本的附加组件。ExtJS是一个基于JavaScript的富客户端框架,广泛用于构建复杂的、数据驱动的Web应用程序。这个"trial"版可能意味着这是一个...

    ext--grid--demo

    1. **Ext JS Grid简介**:Ext JS Grid组件提供了一个可配置的表格视图,能够动态地加载和显示大量数据。它由多个部分组成,如Store(存储数据)、Columns(列定义)、Selection Model(选择模型)等。 2. **数据源...

    EXT2.0-API

    EXT的核心特性包括数据绑定、组件化、布局管理以及丰富的图表和表格组件。 EXT2.0的API文档详细列出了该版本中的所有类、方法、属性和事件,为开发者提供了全面的参考。在深入EXT2.0 API之前,我们需要了解EXT的...

    Ext 2.2 - API 中文文档

    从基本的按钮、文本框到高级的表格、树形控件,Ext提供了丰富多样的UI组件,满足不同应用场景的需求。每个组件都经过精心设计,具备高度可定制性和响应式布局能力,确保在各种设备上都能提供一致且优秀的用户体验。 ...

    ext-3.4.1包

    在EXT JS 3.4.1中,开发者可以找到一系列预定义的可复用组件,如表格、面板、菜单、工具栏、窗口等,这些组件都具有高度定制性,可以根据需求调整外观和行为。 这个压缩文件"ext-3.4.1.zip"很可能包含了EXT JS库的...

    ext2.2-API文档-jar-doc

    这种交互方式在数据管理应用中尤其有用,例如在电子表格或数据库应用程序中,用户可以通过拖放操作轻松地排序和组织数据。 其次,EXT2.2增加了单选按钮组件。在很多情况下,用户需要在一组互斥选项中做出选择,单选...

    examples.ext.net-5.zip

    例如,压缩包中的GridPanel示例展示了EXT.NET如何创建一个动态加载数据的表格。GridPanel可以连接到各种数据源,如ADO.NET、Entity Framework等,实现数据的展示、编辑和操作。同时,GridPanel还支持行选择、列隐藏...

    ext-react.zip

    在创建EXT-React应用时,首先需要创建基本的React组件结构,然后导入EXT-React组件,接着配置Webpack和Babel以处理EXT-React相关的依赖。最后,启动开发服务器,进行实时编码和调试。 7. **最佳实践** - 使用EXT-...

    EXT 增删改查的一个例子

    EXT的表格组件(Ext.grid.Panel)支持行级别的编辑,结合行选择器和表单组件,可以方便地实现增删改查操作。表单组件(Ext.form.Panel)用于收集用户输入,并能与数据模型关联,实现数据的双向绑定。 在这个例子中...

    ext-5.1.0-gpl-开源版本

    在压缩包"ext-5.1.0-gpl.zip"中,"ext-5.1.0"目录包含了EXTJS 5.1.0的所有源码和资源文件,包括JavaScript库、CSS样式、图像资源以及示例代码等。开发者可以通过解压并引入这些文件,结合自身的项目需求进行集成和...

    EXT-GWT(GXT) 2.2.4 JAVA API DOC chm 版

    通过这个CHM文件,开发者不仅可以学习到EXT-GWT的基本用法,还可以探索高级特性和最佳实践,从而提升开发效率和应用质量。在遇到问题时,文档的全文检索功能更是能帮助开发者迅速定位解决方案,提升开发效率。

    ext-base.js

    "ext-base.js"是EXT框架的基石,它包含了EXT的基本类和核心功能。这个文件主要包括以下几个方面的内容: 1. **基础对象**:EXT中的所有对象都继承自Ext.Base,这个基类定义了EXT对象的基本行为,如事件处理、属性...

Global site tag (gtag.js) - Google Analytics