您当前的位置: 首页 > 网站编程 > PHP教程 > Extjs4 Treegrid 使用心得分享(经验篇)

Extjs4 Treegrid 使用心得分享(经验篇)

作者:不详 来源:网络 发布时间: 2014-08-14 21:42 点击:
最近调试EXTJS 4的treegrid实例,看了很多水友的文章,以及官方的demo, 没一个可靠的,全都无法显示出来。像对于我们习惯用C++的coder来说,EXTJS简直就是一群无政府土匪来维护的,官网上连个搜索框都没有,找资料基本靠遍历,还是人工的。 使用treegrid,需要在调用

Extjs4 Treegrid 使用心得分享(经验篇)

  最近调试EXTJS 4的treegrid实例,看了很多水友的文章,以及官方的demo, 没一个可靠的,全都无法显示出来。像对于我们习惯用C++的coder来说,EXTJS简直就是一群无政府土匪来维护的,官网上连个搜索框都没有,找资料基本靠遍历,还是人工的。

  使用treegrid,需要在调用页面的head中加载以下几个文件:

  复制代码 代码如下:

  <link rel="stylesheet" type="text/css" href="css/ext-all.css">

  <script type="text/javascript" src="ext-all.js"></script>

  <script type="text/javascript" src="treegrid.js"></script>

  然后在页面的body中写上一个div

  复制代码 代码如下:

  <div id="tree-example"></div>

  以上官方就这么写的,BUT,蛋疼的是,JS里没有改,不改就没法运行成功。把treegrid.js中的renderto,改成我们的div的ID就行了。

  记得把json数据文件和css文件等拷贝到调用目录下。

  完成的treegrid.js代码为:

  复制代码 代码如下:

  /*

  This file is part of Ext JS 4

  Copyright (c) 2011 Sencha Inc

  Contact: http://www.sencha.com/contact

  GNU General Public License Usage

  This file may be used under the terms of the GNU General Public License version 3.0 as published by the Free Software Foundation and appearing in the file LICENSE included in the packaging of this file. Please review the following information to ensure the GNU General Public License version 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html.

  If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact.

  */

  Ext.require([

  'Ext.data.*',

  'Ext.grid.*',

  'Ext.tree.*'

  ]);

  Ext.onReady(function() {

  //we want to setup a model and store instead of using dataUrl

  Ext.define('Task', {

  extend: 'Ext.data.Model',

  fields: [

  {name: 'task', type: 'string'},

  {name: 'user', type: 'string'},

  {name: 'duration', type: 'string'}

  ]

  });

  var store = Ext.create('Ext.data.TreeStore', {

  model: 'Task',

  proxy: {

  type: 'ajax',

  //the store will get the content from the .json file

  url: 'treegrid.json'

  },

  folderSort: true

  });

  //Ext.ux.tree.TreeGrid is no longer a Ux. You can simply use a tree.TreePanel

  var tree = Ext.create('Ext.tree.Panel', {

  title: 'Core Team Projects',

  width: 500,

  height: 300,

  renderTo: 'tree-example',//2B的官方和SV党们,这里竟然是getbody,bo你妹埃

  collapsible: true,

  useArrows: true,

  rootVisible: false,

  store: store,

  multiSelect: true,

  singleExpand: true,

  //the 'columns' property is now 'headers'

  columns: [{

  xtype: 'treecolumn', //this is so we know which column will show the tree

  text: 'Task',

  flex: 2,

  sortable: true,

  dataIndex: 'task'

  },{

  //we must use the templateheader component so we can use a custom tpl

  xtype: 'templatecolumn',

  text: 'Duration',

  flex: 1,

  sortable: true,

  dataIndex: 'duration',

  align: 'center',

  //add in the custom tpl for the rows

  tpl: Ext.create('Ext.XTemplate', '{duration:this.formatHours}', {

  formatHours: function(v) {

  if (v < 1) {

  return Math.round(v * 60) + ' mins';

  } else if (Math.floor(v) !== v) {

  var min = v - Math.floor(v);

  return Math.floor(v) + 'h ' + Math.round(min * 60) + 'm';

  } else {

  return v + ' hour' + (v === 1 ? '' : 's');

  }

  }

  })

  },{

  text: 'Assigned To',

  flex: 1,

  dataIndex: 'user',

  sortable: true

  }]

  });

  });
分享到:
本文"Extjs4 Treegrid 使用心得分享(经验篇)"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4