extgrid操作的文章

来源:互联网 发布:eviews软件免费下载 编辑:程序博客网 时间:2024/06/09 17:33

http://blog.sina.com.cn/s/blog_60f09f9d0100e4cu.html

 

1. grid 添加行点击事件
 grid.addListener('cellclick',function(grid, rowIndex,columnIndex,e){
    if(columnIndex == 1){
    var record = grid.getStore().getAt(rowIndex).data;
    AddWin(record,1);
   }
  
 }); 

2. grid 添加右键功能
grid.on('rowcontextmenu',function(grid,index,e){
      var data = grid.getStore().getAt(index).data;
    
   var firstLegal = {
             text: '一one',
             handler : function(){
                             }
         };
        
         var firstIllegal = {
             text: '一two',
             handler : function(){
                             }
         };
        
         var secondLegal = {
             text: '二one',
             handler : function(){
                             }
         };
        
         var secondIllegal = {
             text: '二two',
             handler : function(){
             }
         };
        
  
              menu = new Ext.menu.Menu([
     secondLegal,
     secondIllegal,
     '-'
   ]);
   menu.showAt(e.getPoint());
      
      // 阻止浏览器弹出右键餐单
      e.preventDefault();
  });
 
3. //再Grid 中添加展开行
 var expander = new Ext.grid.RowExpander({
tpl: new Ext.Template('<div style="padding-left:45px;font-size:12px;"><br><p><b>描述:</b><br/>{programmeIntro}</p><b</div>')
});

4.
  var store = new Ext.data.JsonStore({
    root: 'root',
    totalProperty: 'sum',
    url: 'url',
    remoteSort: true,
    
    fields: [
     { name: 'name' , mapping: 'name' },
     { name: 'num' , mapping: 'num' }
    ]
   });
   
   store.setDefaultSort('num' ,'DESC');
   store.on('beforeload', function(store, options){
       options.params = Ext.apply(options.params, {
        method: 'grid',
        taskId: Ext.getDom('taskId').value
       });
      });

   var pagingBar = new Ext.PagingToolbar({
    pageSize: 50,
    store:store,
    displayInfo: true,
    emptyMsg:'没数据',
    items:['-',
     { text: '' },'-',
     '<div id=""></div>',
     '<div id=""></div>'
    ]
   });
  
   
   var sm = new Ext.grid.CheckboxSelectionModel();

 

3. 分页变序号
    Ext.grid.PagedRowNumberer = function(config){
     Ext.apply(this, config);
     if(this.rowspan){
         this.renderer = this.renderer.createDelegate(this);
     }
  };
  
  Ext.grid.PagedRowNumberer.prototype = {
      width:20,
      sortable:false,
      fixed:false,
      hideable:false,
      rowspan: undefined,
     
      renderer : function(v, p, record, rowIndex, colIndex, store){
          if(this.rowspan){
              p.cellAttr = 'rowspan="'+this.rowspan+'"';
          }
          var i = store.lastOptions.params.start;
          if (isNaN(i)) {
              i = 0;
          }
          i = i + rowIndex + 1;
          i = Number(i).toString();
          return i;
      }
  };

4.  改变行高
renderer:function(value,p,record){
 return '<div style="height:15px">'+ value + '</div>';
}