+ -
当前位置:首页 → 问答吧 → Ext TreeGrid的问题,请高手帮忙,万分感谢

Ext TreeGrid的问题,请高手帮忙,万分感谢

时间:2011-04-13

来源:互联网

目前项目中用到这样一种功能,如图:

作者: jsnt_rd   发布时间: 2011-04-13

图中效果已经实现,代码如下:
Ext.onReady(function() {
  Ext.regModel('Task', {
  fields: [
  {name: 'task', type: 'string'},
  {name: 'user', type: 'string'},
  {name: 'duration', type: 'string'}
  ]
  });
   
  var store = new Ext.data.TreeStore({
  model: 'Task',
  proxy: {
  type: 'ajax',
  url: 'JS/treegrid.json'
  },
  root: {
  expanded: true
  },
  folderSort: true
  });

  var tree = new Ext.tree.TreePanel({
  title: 'Core Team Projects',
  el:'tree-ct',
  width: 500,
  height: 300,
  renderTo: 'tree-example',
  collapsible: true,
  useArrows: true,
  rootVisible: false,
  store: store,
  animate:false,
  singleExpand: false,
  headers: [{
  xtype: 'treeheader',
  text: 'Task',
  flex: 2,
  sortable: true,
  dataIndex: 'task'
  },{
  xtype: 'templateheader',
  text: 'Duration',
  flex: 1,
  sortable: true,
  dataIndex: 'duration',
  align: 'center',
  tpl: new 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
  }]
  });
});

作者: jsnt_rd   发布时间: 2011-04-13

关键是图中我画的2个圈地方无法实现:
1、树节点前要带checkbox;
2、第二列要显示为checkbox,并且可以进行选择

作者: jsnt_rd   发布时间: 2011-04-13