`
柠檬之焰
  • 浏览: 10941 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

GroupingView点击分组标题不展开,或点击标题后文字不展开

阅读更多
GroupingView结构:
   分组标题groupTextTpl是用两个DIV 来进行修饰的,在mouseDown时,EXT会查找css class=".x-grid-group-hd"的对象,如果找到则进行展开或收起的操作。而其标题前的加号或减号也是通过css进行背景控制的。
   如果不希望点击分组标题就进行展开或收起的操作,只需将groupTextTpl放到<div class="x-grid-group-title">的外面,并在groupTextTpl外加个span,给span定义一个CSS(不存在这个CSS class也可以,如:class="none_expand_class"),然后在interceptMouse增加判断,如果是在“.x-grid-group-hd”并且不在"none_expand_class"上,才进行收起或展开操作。

下面示例,在分组标题后加个链接,当点击链接时要打开新窗口,而不收起或展开grid
扩展:
Ext.ns("Ext.ux.grid.GroupingViewCustom");

Ext.ux.grid.GroupingViewCustom = function(config) {
                Ext.apply(this, config);
};

Ext.ux.grid.GroupingViewCustom = Ext.extend(Ext.grid.GroupingView, {
   //该字段存放分组标题后的链接文字,如果不想点击分组标题时就展开,也可将分组标题写在此处,而groupTextTpl为空即可。
    groupTextTplNoneExpend : '',

    // private
    initTemplates : function(){
        Ext.grid.GroupingView.superclass.initTemplates.call(this);
        this.state = {};

        var sm = this.grid.getSelectionModel();
        sm.on(sm.selectRow ? 'beforerowselect' : 'beforecellselect',
                this.onBeforeRowSelect, this);

        if(!this.startGroup){
            this.startGroup = new Ext.XTemplate(
                '<div id="{groupId}" class="x-grid-group {cls}">',
                    '<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}"><div class="x-grid-group-title">', this.groupTextTpl ,
                     '<span class="group_none_expand">',this.groupTextTplNoneExpend,'</span>','</div></div>',
                     '<div id="{groupId}-bd" class="x-grid-group-body">'
            );
        }
        this.startGroup.compile();
        if(!this.endGroup){
            this.endGroup = '</div></div>';
        }

        this.endGroup = '</div></div>';
    },

    // private
    interceptMouse : function(e){
        var hd = e.getTarget('.x-grid-group-hd', this.mainBody);
         var noneExpand = e.getTarget('.group_none_expand', this.mainBody);
        if(hd && !noneExpand){
            e.stopEvent();
            this.toggleGroup(hd.parentNode);
        }
    }
});

使用:
    var grid_dqjkdpb_qfzc = new Ext.grid.GridPanel({
                     height:200,
        store: store_dqjkdpb,
        columns: [
                {header: '公司', width: 60, dataIndex: 'zgs',hidden:true},
            {id:'yyb',header: '营业部', width: 60, dataIndex: 'yyb'},
            {header: 'CRC',  width: 50, renderer:renderChjg, dataIndex: 'crcch'},
            {header: '付费</BR>陈列', width: 50, renderer:renderChjg, dataIndex: 'ffclch'},
            {header: '冰箱日</BR>常查核', width: 50, renderer:renderChjg, dataIndex: 'bxrcch'},
            {header: '经销商', width: 50, renderer:renderChjg, dataIndex: 'jxsch'},
            {header: '事业群</BR>专案', width: 50, renderer:renderChjg, dataIndex: 'qzach'}
        ],
        view: new Ext.ux.grid.GroupingViewCustom({
            forceFit: true,
           // startCollapsed: true,
            groupTextTpl: '{text}',
            groupTextTplNoneExpend:'<a href="yysdetail.htm" target="_blank">查看营业所明细</a>'
        })
    }); 
分享到:
评论
1 楼 yjugdumc 2010-08-30  
如果我想把分组标题前的加号或减号改成复选框,应该怎么写

相关推荐

    一个基于ASP.NET+C#实现的GroupingView分组统计控件代码

    2. **统计功能**:该控件支持对分组后的数据进行统计计算,如求和、平均值、最大值、最小值等。这在数据分析中非常实用,无需编写复杂的查询即可得到想要的结果。 3. **交互性**:用户可以在界面上直接操作,添加、...

    ExtJs中gridpanel分组后组名排序实例代码

    GroupingView插件负责对GridPanel中的数据进行分组,并提供相应的用户界面元素以便用户可以通过组名展开或折叠数据。组名排序则涉及到Store中数据的排序规则,可以通过自定义GroupingStore来实现。 在示例中,定义...

    jqGrid中的分组

    如果设置为 `true`,则相应的列会在分组后的表格中仍然可见。 `groupText` 是定义分组头部显示信息的数组,它会显示每组包含的记录数量。例如,`['&lt;b&gt;{0} - {1} 条记录&lt;/b&gt;']` 将在分组标题中展示每组的记录数。 `...

    JQuery Mobile 中实现 jqGrid 数据分组

    groupText: ['&lt;b&gt;{0}&lt;/b&gt; ({1} 条记录)'] // 分组标题格式 }, pager: '#pager', // 分页控件ID rowNum: 10, // 每页显示的行数 rowList: [10, 20, 30], // 分页大小选项 sortname: 'id', // 默认排序列 sort...

    关于EXT分页,分组,排序

    EXTJS 提供了强大的分组功能,使得数据可以根据某个或多个字段进行分组展示。这在处理具有层次结构的数据集时非常有用。 #### 实现步骤: 1. **配置 ColumnModel**: 在代码中可以看到定义了一个 `ColumnModel`,...

    extjs3合并表头 rowspan

    在ExtJS 3中,如果你需要合并表头,你可能会使用`Ext.grid.GroupingView`或自定义的视图类。表头合并通常涉及到设置特定的配置选项和处理渲染过程。以下是一些关键知识点: 1. **GroupingView**: 这是ExtJS 3中用于...

    jqGrid超详细属性说明(追加整理)[收集].pdf

    - `groupingView`: 配置表格的分组视图,如`groupField`定义分组依据的字段,`groupDataSorted`设置是否按数据排序后分组。 - `gridview`: 是否启用快速渲染模式,提高性能。 - `loadonce`: 是否一次性加载所有...

    jqGrid超详细属性说明(追加整理)

    - **groupingView** (对象): 支持分组视图的配置。例如: ```javascript groupingView: { groupField: ['name'], groupDataSorted: true }, ``` 其中,`groupField`定义了用于分组的字段,`groupDataSorted`...

    jqGrid超详细属性说明(追加整理)整合API,示例

    `grouping` 参数开启或关闭分组功能,`groupingView` 配置分组的详细规则,如 `groupField` 定义分组依据的字段。`multiselect` 如果设为 `true`,则允许用户多选行。 此外,还有其他一些高级选项,例如 `loadonce`...

    jqGrid 表格demo

    - **分组和汇总**:使用`grouping`和`groupingView`参数可以实现数据分组,`footerrow`和`userDataOnFooter`用于添加行级总计。 ### 5. combine.php的作用 在提供的文件列表中,`combine.php`可能用于合并多个JS或...

    ExtJS下grid的一些属性说明

    2. **展开第一个分组**:可以在加载后手动展开第一个分组。这可以通过监听网格加载事件并在事件处理程序中调用相应的API来实现。 以上是针对ExtJS中grid的一些关键属性及其应用的详细介绍。希望对您理解并运用ExtJS...

    jq-extgrid表格插件

    - **排序**:用户可以通过点击列头进行数据排序,插件自动处理升序和降序排列,使数据管理更加便捷。 - **分组**:jq-extgrid允许对数据进行分组,将具有相同属性的数据聚合在一起,提供更清晰的数据视图。 - **...

    深入浅出ExtJS第2版

    Ext.grid.GroupingView 68 3.14 可拖放的表格 69 3.14.1 拖放改变表格的大小 69 3.14.2 在同一个表格里拖放 70 3.14.3 表格之间的拖放 72 3.14.4 表格与树之间的拖放 73 3.15 Grid与右键菜单 73 3.16 本章小...

    ExtJS基础教程.pdf

    4. **表格类**:包括网格面板(GridPanel)、编辑网格面板(EditorGridPanel)、属性网格(PropertyGrid)、视图(View)、分组视图(GroupingView)、列模型(ColumnModel)和选择模型(SelectionModel),支持复杂的数据展示和...

    精通JS脚本之ExtJS框架.part2.rar

    9.5.2 Ext.grid.GroupingView的配置操作 9.6 可拖放的表格 9.6.1 拖放改变表格的大小 9.6.2 在同一个表格里拖放 9.6.3 表格之间的拖放 9.6.4 表格与树之间的拖放 第10章 设计树状结构布局 10.1 TreePanel的...

    精通JS脚本之ExtJS框架.part1.rar

    9.5.2 Ext.grid.GroupingView的配置操作 9.6 可拖放的表格 9.6.1 拖放改变表格的大小 9.6.2 在同一个表格里拖放 9.6.3 表格之间的拖放 9.6.4 表格与树之间的拖放 第10章 设计树状结构布局 10.1 TreePanel的...

    EXT核心API详解

    71、Ext.grid.GridView类 …………… 59 72、Ext.grid.GroupingView类 ………… 60 73、Ext.grid.EditorGridPanel类 ……… 62 74、Ext.grid.PropertyGrid类 …………… 65 1、Ext类 addBehaviors(Object ...

    ExtJS入门教程(超级详细)

    1、Ext类 ………………………………… 2 2...71、Ext.grid.GridView类 …………… 59 72、Ext.grid.GroupingView类 ………… 60 73、Ext.grid.EditorGridPanel类 ……… 62 74、Ext.grid.PropertyGrid类 …………… 65

Global site tag (gtag.js) - Google Analytics