zoukankan      html  css  js  c++  java
  • ExtJs Grid

    ExtJs Grid

    2013726

    9:56

      ExtJS中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。

      表格由类Ext.gridPanel定义,继承自PanelxtypeGrid。在ExtJs表格控件Grid必须包含列定义信息,并指定表格的数据存储器store

      列信息由类Ext.grid.ColumnModel定义;

      Ext.onReady(function(){

          /*

              cm对象主要负责表格的列信息,表格包含的列由columns配置属性来描述,简称cm.columns是一个数组,每一行数据元素描述表格的一列信息,

              header:表格中显示的文本;

              dataIndex:记录集字段;

              sortable:是否可以排序;

              renderer:列渲染函数;

              width:宽度;

              format:格式化信息

          */

          var cm = new Ext.grid.ColumnModel([

              {header:'编号',dataIndex:'id'},

              {header:'名称',dataIndex:'name'},

              {header:'描述',dataIndex:'descn'}

              ]);

          var data = [

              ['1','name1','descn1'],

              ['2','name2','descn2'],

              ['3','name3','descn3'],

              ['4','name4','descn4'],

              ['5','name5','descn5']

          ]

          /*

              var store用来创建数据存储对象,这也是GirdPanel必须配置的属性,

              作用:把各种各样的原始数据(二维数组、Json对象数组、xml文本等)转换成

                  Ext.data.Reacord类型的对象;

              配置参数:

                  proxy指定获取数据的方式,MemoryProxy用来解析javascript的对象

                  renderer表示如何解析这些数据;Ext.data.Reader专门用来解析数组,并且按照那种解析规范来解析;第一个参数表示提供数组下表位置存放的记录的Id(可选)

                  Ext.data.ArrayReader中第二个参数表示的record记录的模型,name指定索引字段mapping表示,指定cm当中的dataIndex是什么,name可以指定索引,但是当指定mapping的时候数据显示根据它来决定

                  

          */

          var store = new Ext.data.Store({

                  proxy:new Ext.data.MemoryProxy(data),

                  reader: new Ext.data.ArrayReader({},[

                      {name:'id',mapping:0},

                      {name:'name',mapping:1},

                      {name:'descn',mapping:2}

                  ]),

              });

              //只有load的时候数据才能够进行加载

              store.load();

              var grid = new Ext.grid.GridPanel({

                      renderTo:'grid',

                      store:store,

                      cm:cm,

                      600,

                      height:400

                  })

          });

          /**

              1、数据显示不全的原因,在data这个字段当中都重复了

              2、高度和宽度没有设定

              

          */

      数据存储器由Ext.data.Store定义;

      数据存储根据解析数据的不同可以分为JsonStoreSimpleStoreGroupingStore

      问题 如何禁用Gird当中的拖放列功能

      计算机生成了可选文字:
险述
JeSCnl
」eSCnZ
jeSCn3
jeSCn4
jeSCnS
编号
舍1
名称
nsmel
20.名称
3-
4
S
.侧刁二价与.J
nBme4
nsmes

      在定义grid的对象的时分别设定enableColumnMoveenableColumnResizefalse

      问题 如何实现斑马线效果,显示的效果就是不同列不同的颜色

      计算机生成了可选文字:
编号
名称
描述
nsmel
deSCnl
n日meZ
name3
deSCnZ
deSCn3
,.,乙,J
4
nsme4
deSCn4
5
nsmes
deSCns

      stripeRows:true,

      问题 如何实现遮罩效果

      loadMask:true

      问题 如何设定列的宽度

      在定义ColumnModel的时候进行定义width

      问题 如何自主决定每列的宽度

      在定义grid的时候定义:

      viewConfig:{

      forceFit:true

      }

      说明:

      使用了viewConfig后,Grid会根据你在cm里设置的width按比例分配

      问题 如何让列的宽度自动伸展填充整个表格

      autoExpandColumn:'descn' 它只能制定一列的id,注意必须是id,该id设置在ColumnModel当中

      问题 如何让Gird支持列排序

      在定义列模型的时增加sortable属性,如:

      var cm = new Ext.grid.ColumnModel([

      {header:'编号',dataIndex:'id',sortable:true}])

       

     

    已使用 Microsoft OneNote 2013 创建。





  • 相关阅读:
    (转)当你输入一个网址,实际会发生什么?
    Word Ladder II
    Jump Game II
    Candy
    [生成树][Uva1395][Slim Span]
    [AC自动机][HDU3065]
    [KMP求最小循环节][HDU3746][Cyclic Nacklace]
    [扩展KMP][HDU3613][Best Reward]
    [Manacher][HDU3613][Best Reward]
    [KMP][HDU3336][Count the string]
  • 原文地址:https://www.cnblogs.com/babyhhcsy/p/3434686.html
Copyright © 2011-2022 走看看