`

Extjs的Grid

 
阅读更多
1.data store 类型:
•  Simple (Array)(数组)
•  XML
•  JSON
a.客户端的数据
定义数组
var store = new Ext.data.Store({ 
  data: [      [        1, 
      "Office Space", 
     
"Mike Judge", 
     
"1999‐02‐19", 
     
1, 
     
"Work Sucks", 
     
"19.95", 
     
1 
    ],[ 
     
3, 
     
"Super Troopers", 
     
"Jay Chandrasekhar", 
     
"2002‐02‐15", 
     
1, 
     
"Altered State Police", 
     
"14.95", 
     
1 
    ] 
    //...more rows of data removed for readability...// 
  ],    reader: new Ext.data.ArrayReader({id:'id'}, [ 
    'id', 
    'title', 
    'director', 
    {name: 'released', type: 'date', dateFormat: 'Y‐m‐d'}, 
    'genre', 
    'tagline', 
    'price', 
    'available' 
 
] 
}); 
b.服务端的数据-xml
var store = new Ext.data.Store({ 
  url: 'movies.xml', //xml的路径
  reader: new Ext.data.XmlReader({ 
    record:'row', 
    id:'id' 
  }, [      'id', 
    'coverthumb', 
    'title', 
    'director', 
    {name: 'released', type: 'date', dateFormat: 'Y‐m‐d'}, 
    'genre', 
    'tagline', 
    {name: 'price', type: 'float'}, 
    {name: 'available', type: 'bool'} 
  ])  
}); 
store.load(); //加载到内存
c.josn
var store = new Ext.data.Store({ 
    url: 'movies.json', 
    reader: new Ext.data.JsonReader({ 
      root:'rows', 
      id:'id' 
     }, [ 'id', 
          'coverthumb', 
          'title', 
          'director', 
           {name: 'released', type: 'date', dateFormat: 'Y‐m‐d'}, 
          'genre', 
          'tagline', 
           {name: 'price', type: 'float'}, 
           {name: 'available', type: 'bool'} 
     ])  
}); 
store.load();


显示
Ext.onReady(function(){ 
  // add your data store here 
  var grid = new Ext.grid.GridPanel({ 
    renderTo: document.body, 
    frame:true, 
    title: 'Movie Database', 
    height:200, 
    width:500, 
    store: store, 
    columns: [ 
      {header: "Title", dataIndex: 'title'}, 
      {header: "Director", dataIndex: 'director'}, 
      {header: "Released", dataIndex: 'released', 
      renderer: Ext.util.Format.dateRenderer('m/d/Y')}, 
      {header: "Genre", dataIndex: 'genre'}, 
      {header: "Tagline", dataIndex: 'tagline'} 
    ]    });  
}); 

2.特殊字段的设置
a.日期
renderer: Ext.util.Format.dateRenderer('m/d/Y')
b.隐藏列
第一种
{header: 'Tagline', dataIndex: 'tagline', hidden: true}
第二种
Var colmodel = grid.getColumnModel();
colmodel.setHidden(colmodel.getIndexById('tagline'),true);
c.合并
{header: 'Title', dataIndex: 'title', renderer: title_tagline} 
function title_tagline(val, x, store){ 
    return '<b>'+val+'</b><br>'+store.data.tagline; 
} 

d.引入图片
{header: 'Cover', dataIndex: 'coverthumb', renderer: cover_image} 
function cover_image(val){ 
   return '<img src=images/'+val+'>'; 
}

f.客户端排序
第一种
{header: 'Tagline', dataIndex: 'tagline', sortable: true}
第二种
var colmodel = grid.getColumnModel();
colmodel.getColumnById('tagline').sortable = true;
g.列的托拽
不可移动:enableColumnMove: false
h.selection model
• CellSelectionModel:让用户只能选择单一的单元格;
• RowSelectionModel:让用户选择完整的行;
• ColumnSelectionModel:让用户选择完整的列;
• CheckBoxSelectionModel:让用户使用 checkbox(复选框)来做行的选择;

sm: new Ext.grid.RowSelectionModel({ 
  singleSelect: true, 
  listeners: {      
               rowselect: { 
                     fn: function(sm,index,record) { 
                        .Msg.alert('You Selected',record.data.title); 
      } 
    }    }  
}) 

k.根据列名获得列的序列号
var cm = grid.getColumnModel(); //grid表格的名称
var pi = cm.getIndexById('price'); //price列的名称
l.分页
bbar: new Ext.PagingToolbar({
  pageSize: 3, //每页最多显示3条
  store: store //数据的来源
})
n.分组
var store = new Ext.data.GroupingStore({ 
  url: 'movies.json', 
  sortInfo: { 
      field: 'genre', 
      direction: "ASC" 
  }, 
  groupField: 'genre', 
  reader: new Ext.data.JsonReader({ 
       root:'rows', 
       id:'id' 
  }, // reader column model here //) 
}); 
在grid定义中最后加上
view: new Ext.grid.GroupingView() 












分享到:
评论

相关推荐

    ExtJS grid过滤操作

    ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...

    EXTJS grid导出EXCEL文件

    1. **EXTJS Grid组件**:EXTJS Grid是EXTJS的核心组件之一,它允许开发者创建可分页、可排序、可过滤的数据表格。Grid可以与各种数据源(如JSON、XML或内存中的数组)配合使用,并通过Store对象进行数据的加载和管理...

    ExtJs Grid选择行

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

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

    ### ExtJs Grid 多选及获取选中值详解 #### 一、背景介绍 在Web应用开发中,ExtJs 是一款非常强大的JavaScript框架,它能够帮助开发者快速构建复杂的用户界面。其中,Grid Panel(简称 Grid)是ExtJs中最常用的一个...

    extjs grid

    EXTJS Grid是EXTJS库中的一个核心组件,用于创建数据密集型的表格视图,它在Web应用程序中常用于展示和操作大量结构化数据。EXTJS Grid提供了丰富的功能,包括分页、排序、过滤、编辑等,使得用户可以高效地管理和...

    extjs grid示例代码

    ExtJS Grid是Sencha ExtJS框架中的一个核心组件,它用于构建数据驱动的表格视图。Grid组件在Web应用中广泛使用,因为它提供了强大的数据展示、排序、分页、筛选和编辑功能。以下是对`ExtJS Grid`示例代码的详细解析...

    extjs grid 多表头插件

    ExtJS Grid是一款强大的数据展示组件,常用于构建复杂的Web应用程序中的数据网格。多表头插件是ExtJS Grid的一个重要特性,它允许我们创建具有多层次、复杂结构的表头,以便更好地组织和呈现数据。在ExtJS Grid中,...

    Extjs grid分页1

    ExtJS Grid 分页是Web应用中数据展示的重要组成部分,它允许用户高效地浏览大量数据而无需一次性加载所有记录。在本文中,我们将深入探讨ExtJS Grid的分页功能及其实现方式。 首先,ExtJS Grid是一种强大的...

    Extjs grid分页多选记忆功能

    很多同事在用extjs grid做分页的时候,往往会想用grid的多选功能来实现导出Excel之类的功能(也就是所谓的多选记忆功能),但在选选择下一页的时候 上一页选中的已经清除 这是因为做分页的时候又向服务器请求了分页...

    extjs grid数据导出excel文件

    在EXTJS中,Grid控件是用于展示大量结构化数据的关键组件,具有丰富的功能和高度可定制性。本文将深入讲解EXTJS Grid如何实现数据导出到Excel文件的功能。 首先,我们要明白EXTJS Grid的数据导出到Excel的过程通常...

    Extjs grid 中文排序问题修正

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

    EXTJS Grid总结例子

    EXTJS Grid是一款强大的数据展示组件,广泛应用于Web应用开发中,尤其在数据密集型界面设计时,EXTJS Grid以其高效的数据加载、灵活的分页、排序、过滤和自定义功能而受到开发者青睐。本总结例子将深入探讨EXTJS ...

    Extjs Grid 扩展实例

    ExtJS Grid是一个强大的数据展示组件,它在Web应用程序中用于显示和操作大量数据。Grid提供了丰富的功能,包括分页、排序、过滤、编辑等,是ExtJS库中的核心组件之一。"Extjs Grid 扩展实例"是一个演示如何增强Grid...

    ExtJS GRID单元格合并

    ExtJS GRID是一款强大的JavaScript数据网格组件,用于展示和操作大量结构化数据。在ExtJS 4.0版本中,Grid提供了单元格合并的功能,这在处理复杂数据展示时非常有用,比如汇总信息或者创建表头合并。下面我们将深入...

    Extjs Grid 操作大全

    根据提供的文件信息以及标题与描述,本文将详细探讨Extjs Grid的操作大全,特别是关于如何获取Grid中的各种值以及如何添加各种点击事件。 ### Extjs Grid 操作大全 #### 一、Extjs Grid简介 Extjs 是一个用...

    ExtJS_grid.rar_Grid javascript_extjs grid

    ExtJS Grid是一款强大的JavaScript组件,用于在Web应用中创建数据密集型的表格视图。它由Sencha公司开发,是Ext JS库的核心部分,广泛应用于企业级应用的前端开发,提供丰富的功能和高度的可定制性。这个"ExtJS_grid...

    Extjs Grid2Grid拖拽

    "Grid2Grid拖拽"功能是指在两个ExtJS Grid之间通过鼠标拖放操作来移动或复制行数据。这种功能在数据管理、比较和操作场景中非常实用。 在实现"Extjs Grid2Grid拖拽"时,主要涉及以下几个关键知识点: 1. **ExtJS ...

    Extjs Grid 中的 ToolTip效果

    在EXTJS中,Grid组件是数据展示的核心,它允许用户以表格形式查看和操作大量数据。在实际应用中,为了提供更好的用户体验,我们经常需要在鼠标悬停在某个单元格或列头时显示额外的信息,这就是ToolTip的效果。EXTJS ...

    EXTJS Grid导出Excel

    在EXTJS Grid中导出数据到Excel是一种常见的需求,它允许用户方便地处理和分析大量数据。EXTJS是一个强大的JavaScript库,专门用于构建富客户端Web应用程序,而Grid组件是其核心部分,用于展示和管理表格数据。在...

    extjs gridToExcel

    这是一个简单的在extjs下的grid转化到Excel,里面代码简单易懂,在包里面还集成了复杂的js转化函数,不过本人没有用它来进行转化! 注:在用EXTJS的导出Excel技术中,一定要注意分页的问题

Global site tag (gtag.js) - Google Analytics