今天在家休息,年假不用就作费啊。

看了几部香港老电影,陪爸爸看了勇士占奇才,

然后,测试了一下EXTJS未完的内容,

在京东上订了七本历史普及书,近两百块。。:)

搞定。

<!DOCTYPE html>
<html>
<head>
    <title>ExtJs</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <link rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css">
		<script type="text/javascript" src="ExtJs/ext-all.js"></script>
		<script type="text/javascript" src="ExtJs/bootstrap.js"></script>
		<script type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"></script>

    <style type="text/css">
      #uses the following css:
      .red-row{ background-color: #F5C0C0 !important; }
      .yellow-row{ background-color: #FBF8BF !important; }
      .green-row{ background-color: #99CC99 !important; }
    </style>

    <script type="text/javascript">
    Ext.onReady(function(){
      function rendererSex(value){
        if (value == 'male') {
          return "<span style='color:red;font-weight: bold;'>男</span>";
        }else {
          return "<span style='color:green;font-weight: bold;'>女</span>";
        }
      };

      function rendererDescn(value, cellmeta, record, rowIndex, columnIndex, store){
        var str = "<input type='button' value='查看详细信息' onclick='alert(\"" +
        "这个单元格的值为: " + value + "\\n" +
        "这个单元格的配置是: {cellID" + cellmeta.cellID + ", id: " + cellmeta.id + ", css: " + cellmeta.css + "}\\n" +
        "这个单元格对应的record是: " + record + ", 一行里的数据都在里边\\n" +
        "这是第" + rowIndex + "行\\n" +
        "这是第" + columnIndex + "列\\n" +
        "这个表格对应的Ext.data.Store在这里: " + store + ", 随便用吧." +
        "\")'>"
        return str;
      }
      function rendererMotif(data, cell, record, rowIndex, columnIndex, store) {
        var value = record.get('color');
        cell.style = "background-color: " + value;
        return data;
      }

      var sm = new Ext.selection.CheckboxModel({stringSelect: true});

      var columns =[
        new Ext.grid.RowNumberer(),
        {header: '编号', dataIndex: 'id', width:80, sortable: false},
        {header: '名称', dataIndex: 'name', width:180},
        {header: '性别', dataIndex: 'sex', renderer: rendererSex, width:120},
        {header: '日期', dataIndex: 'date', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width:400},
        {header: '描述', dataIndex: 'descn', renderer: rendererDescn, width:200},
        {header: 'color', dataIndex: 'color', renderer: rendererMotif, width:200}
      ];

      var data = [
        ['1', 'name1', 'male', '2017-01-15T02:58:04', 'descn1', '#FBF8BF'],
        ['2', 'name2', 'female', '2005-01-15T02:58:04', 'descn2', '#F5C0C0'],
        ['3', 'name3', 'male', '2017-06-15T02:58:04', 'descn3', '#99CC99'],
        ['4', 'name4', 'female', '2017-01-09T02:58:04', 'descn4', '#FBF8BF'],
        ['5', 'name5', 'male', '2017-12-15T02:58:04', 'descn5', '#F5C0C0']
      ];

      var store = new Ext.data.ArrayStore({
        data: data,
        fields: [
          {name: 'name', mapping: 1},
          {name: 'sex', mapping: 2},
          {name: 'id', mapping: 0},
          {name: 'date', type: 'date', dateFormat: 'Y-m-dTH:i:s', mapping: 3},
          {name: 'descn', mapping: 4},
          {name: 'color', mapping: 5}
        ]
      });

      /*
      var store = new Ext.data.Store({
        proxy: new Ext.data.ScriptTagProxy({url: 'source.html'}),
        reader: new Ext.data.ArrayReader({}, [
          {name: 'id'},
          {name: 'name'},
          {name: 'descn'}
        ]),
        fields: [
          {name: 'name', mapping: 1},
          {name: 'id', mapping: 0},
          {name: 'descn', mapping: 2}
        ]
      });
      */
      store.load();
      var grid = new Ext.grid.GridPanel({
        enableColumnMove: false,
        enableColumnResize: true,
        stripeRows: true,
        autoHeight: true,
        loadMask:true,
        forceFit: true,
        renderTo: 'grid',
        store: store,
        columns: columns,
        selModel: sm,
        bbar: new Ext.PagingToolbar({
          pageSize: 3,
          store: store,
          displayInfo: true,
          displayMsg: '显示第{0} 条到 {1}条记录, 一共{2}条',
          emptyMsg: '没有记录'
        }),
        viewConfig: {
          enableRowBody: true,
          columnsText: '显示的列',
          sortAscText: '升序',
          getRowClass: function(record, rowIndex, p, ds) {
            var cls = 'white-row';
            switch (record.data.color) {
              case '#FBF8BF' :
                cls = 'yellow-row';
                break;
              case '#99CC99' :
                cls = 'green-row';
                break;
              case '#F5C0C0' :
                cls = 'red-row';
                break;
            }
            return cls;
          }
        }
      });

      Ext.get('remove').on('click', function(){
        store.remove(store.getAt(1));
        grid.view.refresh();
      })

      var tree = new Ext.tree.TreePanel({
        store: new Ext.data.TreeStore({
          root: {
            text: '我是根',
            children: [{
              text: '我是根的第一个枝子',
              children: {
                text: '我是根的第一个枝子的第一个叶子',
                leaf: true
              }
            },{
              text: '我是根的第一个叶子',
              leaf: true
            }]
          }
        })
      });

      tree.render('tree');

    });
    </script>
</head>
<body style="margin: 20px">
  <div id='grid' style="width: 800px"></div>
  <button id='remove'>删除第二行</button>

  <div id="tree"></div>
</body>
</html>

  

ExtJs之Ext.grid.GridPanel(部分未完)的更多相关文章

  1. ExtJs的Ext.grid.GridPanel不能选择复制表格中的内容解决方案

    今天遇到grid复制的问题,在网上找到了一个解决办法,只需改下CSS和JS,给大家分享一下: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dy_paradise/a ...

  2. 【编程技巧】EXTJS中Ext.grid.GridPanel配置项autoExpandColumn的使用方法

    autoExpandColumn的作用是自动伸展,占满剩余区域.一般使用在列比较少,并且大多数列都比较窄,有一列比较宽的情况下,当然什么时候使用,还是得按照实际情况确定. 使用的时候主要有三点要注意的 ...

  3. Ext.grid.GridPanel属性及方法等

    1.Ext.grid.GridPanel主要配置项:store:表格的数据集columns:表格列模式的配置数组,可自动创建ColumnModel列模式autoExpandColumn:自动充满表格未 ...

  4. Ext.grid.GridPanel的属性

    1.Ext.grid.GridPanel     主要配置项:          store:表格的数据集          columns:表格列模式的配置数组,可自动创建ColumnModel列模 ...

  5. [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)

    先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...

  6. Ext.grid.GridPanel数据转json

    var count = docAdGrid.getStore().getCount(); var jsonArray = []; for (var i = 0; i < count; i++) ...

  7. ExtJs4.2.1中的Ext.grid.GridPanel选择行回车事件

    网上大多说的是“rowdblclick” 其实是“itemdblclick” 这个东西坑了我一上午.

  8. [转] Ext Grid (ExtJs)上的单击以及双击事件

    例1: 1.双击 var cb = new Ext.grid.RowSelectionModel({ singleSelect:true //如果值是false,表明可以选择多行:否则只能选择一行 } ...

  9. Ext4.0.7使用Ext.grid.ColumnModel报错:TypeError: Ext.grid.Model is not a constructor

    代码如下: Ext.onReady(function(){ //定义列 var cm = new Ext.grid.ColumnModel([ {header: '编号', dataIndex: 'i ...

随机推荐

  1. Android入门之文件系统操作(二)文件操作相关指令

    (一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/ ...

  2. [POJ 1745] Divisbility

    [题目链接] http://poj.org/problem?id=1745 [算法] DP [代码] #include <algorithm> #include <bitset> ...

  3. java 分布式锁

    转自:http://www.hollischuang.com/archives/1716 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题.分布式的CA ...

  4. Spring配置事务中的 transactionAttributes 各属性含义及XML配置

    转自:https://blog.csdn.net/z69183787/article/details/17161393 transactionAttributes 属性: PROPAGATION 事务 ...

  5. grunt的学习和使用

    目前正在编写公司的部分组件,可能一个组件会包含很多js和css,为了项目上使用方便,应该压缩成一个js库,以供开发者使用,同时也可以减少很多http请求,提高页面访问速度.基于此,学习了grunt自动 ...

  6. C++中const用法

    1.const和指针: 如果const出现在星号左边,表示被指物是常量:如果出现在星号右边,表示指针自身是常量:如果出现在星号两边,表示被指物和指针两者都是常量. char greet[] = “He ...

  7. docker(一):docker是什么?

    认识容器:docker入门篇 docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚 ...

  8. 「LOJ10150」括号配对

    [题目] Hecy 又接了个新任务:BE 处理.BE 中有一类被称为 GBE. 以下是 GBE 的定义: 空表达式是 GBE 如果表达式 A 是 GBE,则 [A] 与 (A) 都是 GBE 如果 A ...

  9. 企业级分布式监控系统--zabbix

    目录 1.Zabbix简介 2.zabbix安装 3.工作原理 4.监控功能 5.监控系统架构 6.Zabbix系统架构 7.Zabbix组件构成 8.zabbix监控环境中基本概念 正文 回到顶部 ...

  10. 6月10遇到的bug

    3.遇到的BUG        1.@Service(version = "1.0.0", interfaceClass = TransactionItemService.clas ...