Extjs4 Grid column tip实现

本文介绍了一个使用ExtJS框架创建网格组件的具体配置示例。该网格包含多个列,如接收者名称和描述,并实现了单元格提示功能及分页工具栏。此外,还展示了如何通过监听事件来跟踪当前单元格索引并更新提示内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var grid = new Ext.grid.GridPanel({
renderTo: 'xxxGrid',
   store:  store,
   columns: [
        {header: 'key',flex: 1, dataIndex: 'key' , hidden:true},
        {header: 'monitorGroupKey' , flex: 1, dataIndex: 'monitorGroupKey' ,hidden:true },        
        {header: 'emailGroupKey' , flex: 1, dataIndex: 'emailGroupKey',hidden:true},        
        {header: receiveNameLabel , flex: 1, dataIndex: 'name' , sortable : false , filterable : false},    
      {header: receiveDescLabel , flex: 1, dataIndex: 'description' , sortable : false , filterable : false}  ],    
  loadMask:true, 
viewConfig: {
stripeRows: true,
        forceFit: true,
        scrollOffset: 0
},
bbar: new Ext.PagingToolbar({
            store:  store,
            displayInfo: true,
            displayMsg: '<%=bundle.getString("xxx")%> {0} - {1} of {2}',
            emptyMsg: "<%=bundle.getString("xxx")%>"
    }),
height:305,
listeners: {
        viewready: function (grid) {
            var view = grid.view;             
            // record the current cellIndex
            grid.mon(view, {
                uievent: function (type, view, cell, recordIndex, cellIndex, e) {
                    grid.cellIndex = cellIndex;
                    grid.recordIndex = recordIndex;
                }
            });
            
            grid.tip = Ext.create('Ext.tip.ToolTip', {
                target: view.el,
                delegate: '.x-grid-cell',
                trackMouse: true,
                renderTo: Ext.getBody(),
                listeners: {
                    beforeshow: function updateTipBody(tip) {
                        if (!Ext.isEmpty(grid.cellIndex) && grid.cellIndex !== -1) {
                            header = grid.headerCt.getGridColumns()[grid.cellIndex];
  if(
  grid.getStore().getAt(grid.recordIndex).get(header.dataIndex) != null
  &&  grid.getStore().getAt(grid.recordIndex).get(header.dataIndex).length >0
  )
                            tip.update(grid.getStore().getAt(grid.recordIndex).get(header.dataIndex));
                        }
                    }
                }
            });


        }
    },
                    beforeshow: function updateTipBody(tip) {
                        if (!Ext.isEmpty(grid.cellIndex) && grid.cellIndex !== -1) {
                            header = grid.headerCt.getGridColumns()[grid.cellIndex];
  if(
  grid.getStore().getAt(grid.recordIndex).get(header.dataIndex) != null
  &&  grid.getStore().getAt(grid.recordIndex).get(header.dataIndex).length >0
  )
                            tip.update(grid.getStore().getAt(grid.recordIndex).get(header.dataIndex));
                        }
                    }
                }
            });

        }
    },
dockedItems: [{
        xtype: 'toolbar',
        items: [{
            iconCls: 'icon-add',
            id: 'add',
                text: '<%=bundle.getString("xxx")%>',
        handler: function() { 
        showEmailReceiveRule("<%=bundle.getString("xxx")%>");
      }
     } 
  }]
}] 
    }) ;//end grid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值