`
Rowen
  • 浏览: 83054 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Panel and GridPanel 添加多行tbar

EXT 
阅读更多
在panel中,添加多行tbar还是比较简单的,直接
tbar.render(grid.tbar)//grid 是GridPanel对象
测试代码如下:
Ext.onReady(function () {
    var oneTbar = new Ext.Toolbar({
        items: [{
            text: '复制'
        },
        {
            text: '粘贴'
        }]
    });
    var twoTbar = new Ext.Toolbar({
        items: [
        new Ext.Toolbar.TextItem('工具栏:') //显示文本      
        ]
    });
    var threeTbar = new Ext.Toolbar({
        items: [{
            xtype: "tbfill"
        },
        //后面的tools显示在右边       
        {
            pressed: true,
            text: '刷新'
        }]
    });
    var win = new Ext.Window({
        title: '演示多行tbar',
        width: 500,
        height: 300,
        modal: false,
        renterTo: Ext.getBody(),
        items: [{
            xtype: 'panel',
            tbar: [{
                text: '添加'
            },
            '-', {
                text: '删除'
            },
            '-', {
                text: '修改'
            }],
            listeners: {
                'render': function () {
                    oneTbar.render(this.tbar); //add one tbar      
                    twoTbar.render(this.tbar); //add two tbar      
                    threeTbar.render(this.tbar); //add three tbar      
                }
            }
        }]
    });
    win.show();
});



然而在gridpanel中,却是要在grid中增加监听事件render,才能添加多行tbar
listeners: {
            'render': function () {
                tbar2.render(this.tbar); //add one tbar      
                }
        }

测试代码如下:
Ext.onReady(function () {
    var data = [
        ['rowen', 'hohai', 'basketball', '2004-11-01'],
        ['yyy', 'hohai', 'football', '2004-01-11'],
        ['ysc', 'hohai', 'pingpong', '2004-01-21'],
        ['yww', 'hohai', 'pingpong', '2004-01-31']];
    var reader = new Ext.data.ArrayReader({},
    [{
        name: 'name'
    },
    {
        name: 'school'
    },
    {
        name: 'sport'
    },
    {
        name: 'year',
        type: 'date',
        dateFormat: 'Y-m-d'
    },
    {
        name: 'desc'
    }]);
    var store = new Ext.data.Store({
        data: data,
        reader: reader,
        sortInfo: {
            field: 'name',
            direction: 'desc'
        }
    });

    var cm = new Ext.grid.ColumnModel([{
        header: '姓名',
        sortable: true,
        width: 160,
        dataIndex: 'name'
    },
    {
        header: '入学年份',
        sortable: true,
        width: 160,
        dataIndex: 'school',
        editor: new Ext.form.TextField({
            allowBlank: false
        })
    },
    {
        header: '运动爱好',
        sortable: true,
        width: 160,
        dataIndex: 'sport'
    },
    {
        header: '入学年份',
        sortable: true,
        width: 160,
        dataIndex: 'year',
        renderer: Ext.util.Format.dateRenderer('Y-m-d')
    }]);
    var tbar2 = new Ext.Toolbar({
        //renderTo : grid.tbar,//其中grid是上边创建的grid容器
        items: ['第二行工具栏', '-', {
            text: '查询',
            iconCls: 'search'
        },
        '-']
    });
    var grid = new Ext.grid.GridPanel({
        title: 'groupGrid',
        store: store,
        cm: cm,
        width: 600,
        height: 500,
        frame: true,
        //draggable :true,
        enableDragDrop: true,
        tbar: [{
            id: 'newWindow',
            text: '票据入库',
            iconCls: 'add',
            handler: function () {
                showMemerAddWindow(); //显示表单所在窗体
            }
        }],
        listeners: {
            'render': function () {
                tbar2.render(this.tbar); //add one tbar      
                //twoTbar.render(this.tbar); //add two tbar      
                // threeTbar.render(this.tbar); //add three tbar      
            }
        }

    });
    var win = new Ext.Window({
        title: '演示多行tbar',
        width: 500,
        height: 300,
        modal: false,
        renterTo: Ext.getBody(),
        items: [
        grid]
    });

    win.show();
});
分享到:
评论
3 楼 wenxiang_tune 2009-11-24  
建议都贴效果图。。。这样比较直观
2 楼 atian25 2009-08-25  
不能通过嵌套panel来解决么
1 楼 atian25 2009-08-25  
无图无真相.

我总觉得这样不好,自己去添加的一个额外的东西.
父容器的布局管理器可能会出问题.

相关推荐

    gridPanel添加按钮

    tbar: toolbar // 将工具栏添加到顶部 }); ``` 2. **按钮事件处理**: 添加按钮后,我们需要为这些按钮定义点击事件。在JavaScript中,这通常通过监听按钮的`click`事件来实现。我们可以为每个按钮设置一个回调函数...

    ext 列表页面关于多行查询的办法

    首先在Ext.grid.GridPanel中必须要有tbar对象 然后要增加listeners: { ‘render’: function() { bbar2.render(this.tbar); //add one tbar //twoTbar.render(this.tbar); //add two tbar // threeTbar.render(this....

    ext.net 动态创建gridpanel

    - 将 `GridPanel` 添加到相应的容器,例如 `Ext.Net.Panel` 或 `Ext.Net.Window`。 2. **显示在各种窗口中**: GridPanel 可以被嵌入到不同类型的容器中,以满足不同的展示需求。常见的容器有: - **Panel**:...

    给Extjs的GridPanel增加“合计”行

    在GridPanel中添加“合计”行,主要涉及到View的自定义和数据处理。 1. **创建自定义View**: - 首先,我们需要创建一个继承自EXTJS的`Ext.grid.GridView`的自定义View类。这个类将覆盖默认的渲染逻辑,以便在表格...

    ExtJs GridPanel双击事件获得双击的行

    在ExtJs中,GridPanel是用于展示数据的常用组件,它可以提供丰富...通过这些知识,你可以轻松地在GridPanel中添加用户交互功能,提升应用程序的用户体验。请确保在实际项目中根据需求调整代码,以满足具体场景的需求。

    改变gridpanel的行颜色

    可以给GridPanel的store添加`onload`事件来实现这一需求。 ```javascript grid.getStore().on('load', function(s, records) { var gridcount = 0; s.each(function(r) { if (r.get('zy') === '本期合计') { ...

    Ext GridPanel 中实现加链接操作

    在了解如何添加链接之前,我们首先需要理解 Ext GridPanel 的基本结构。Ext GridPanel 主要有以下几个组成部分: 1. **Store**:存储数据的模型。 2. **Column Model**:定义列的信息。 3. **View**:显示数据的...

    EXTJSEXT实例GridPanel.

    - **行编辑**: 可以通过添加RowEditor插件实现单元格级别的编辑。 - **分页**: 使用PagingToolbar可以实现数据的分页展示。 - **排序**: 默认支持列头点击进行排序,也可以自定义排序逻辑。 - **过滤**: ColumnModel...

    gridpanel常用操作

    如果有多行被选中,可以通过循环遍历`recordlist`来访问每一行的"Unitno"列。 其次,前后台方法的调用在Extnet中是通过`App.direct`对象进行的。JavaScript端可以调用后台方法,如`App.direct.方法名();`,而后台...

    extjs3 增删

    gridpanel中添加删除tbar,添加是弹出一个form,进行添加到一个gridpanel中

    Ext的gridpanel控件二次加载问题

    在Ext JS这个强大的JavaScript框架中,GridPanel是一个非常重要的组件,用于展示数据表格。然而,在实际应用中,可能会遇到一个常见的问题:当GridPanel需要进行第二次加载时,数据或者功能可能会丢失。这个问题主要...

    Extjs入门教程(treePanel和GridPanel)

    2. 创建GridPanel:定义Grid的数据模型,设置列配置,添加行操作和列筛选。 3. 数据绑定:通过store将TreePanel和GridPanel连接起来,使得选择树节点可以动态改变Grid的数据。 4. 事件监听:添加事件监听器来响应...

    扩展GridPanel

    扩展的GridPanel,让其分页后保持选择状态

    GridPanel中的单元格不能选中复制的解决方法

    解决Ext.grid.GridPanel中的单元格不能选中复制的问题需要从两个方面入手:添加新的CSS样式和修改Ext.grid.GridPanel的protoType。这些解决方案可以帮助开发者解决这个棘手的问题,提高用户体验。

    无废话ExtJs 系统教程十四[列表:GridPanel]

    例如,通过添加插件可以实现行选择模式(单选或多选)、分页栏(Pagination Toolbar)、工具栏(Toolbar)以添加自定义按钮,甚至编辑功能(Inline或Cell Editing)。另外,GridPanel可以与TreePanel结合,形成一个...

    Ext.net实现GridPanel拖动行、上移下移排序功能DEMO

    对于GridPanel中拖动选中行排序的实现,网上有不少ExtJs实现的例子,但是没有找到使用Ext.net实现的,正好最近有个需求要使用,干脆来写一个。 DEMO功能说明: 1、拖动GridPanel选中行到新位置排序。 2、在拖动结束...

    Extjs 实现多行合并(rowspan)效果

    - `rowspan.js`:这是JavaScript文件,包含了实现多行合并的逻辑,包括store数据处理、renderer函数的定义以及GridPanel的配置。 通过分析这些文件,我们可以学习到如何在实际项目中实现ExtJS的多行合并效果。具体...

    Ext grid panel 滚动条位置不变

    ### Ext grid panel 滚动条位置不变 在前端开发领域,特别是在使用Ext JS框架时,保持滚动条位置不变是一个非常实用的功能。特别是在处理实时数据更新的场景下,这一功能可以确保用户在数据刷新后仍然停留在之前...

Global site tag (gtag.js) - Google Analytics