ExtJS4 Grid改变单元格背景颜色及Column render学习

下面我会详细讲解“ExtJS4 Grid改变单元格背景颜色及Column render学习”的攻略。

什么是ExtJS4 Grid?

ExtJS4 Grid是一个基于JavaScript语言和HTML/CSS技术的高性能表格控件。它是一个面向企业级应用的表格控件,提供了丰富的表格功能和易于扩展的插件机制,适合用于数据呈现、数据分析和数据展示等场景。

改变单元格背景颜色

步骤

  1. 新建ExtJS4 Grid组件,并设置需要显示的列。
var grid = Ext.create('Ext.grid.Panel', {
    store: store,
    columns: [
        {header: '姓名', dataIndex: 'name', flex: 1},
        {header: '年龄', dataIndex: 'age', flex: 1},
        {header: '性别', dataIndex: 'gender', flex: 1},
    ],
    renderTo: document.body
});
  1. 在Grid的viewConfig配置项中,通过getRowClass方法来控制单元格的样式。
var grid = Ext.create('Ext.grid.Panel', {
    // ...
    viewConfig: {
        getRowClass: function(record, rowIndex, rowParams, store){
            if(record.get('age') < 20){
                return 'red';
            }else if(record.get('age') > 40){
                return 'blue';
            }
        }
    }
});
  1. 在CSS文件中定义单元格的样式。
.red .x-grid-cell {
    background-color: red;
}

.blue .x-grid-cell {
    background-color: blue;
}

示例

在这个示例中,如果数据中的年龄小于20岁,则该单元格的背景颜色为红色;如果年龄大于40岁,则该单元格的背景颜色为蓝色。

完整示例代码:

var store = Ext.create('Ext.data.Store', {
    fields: ['name', 'age', 'gender'],
    data: [
        {name: '张三', age: 25, gender: '男'},
        {name: '李四', age: 18, gender: '女'},
        {name: '王五', age: 45, gender: '男'},
        {name: '赵六', age: 30, gender: '女'}
    ]
});

Ext.create('Ext.grid.Panel', {
    store: store,
    columns: [
        {header: '姓名', dataIndex: 'name', flex: 1},
        {header: '年龄', dataIndex: 'age', flex: 1},
        {header: '性别', dataIndex: 'gender', flex: 1},
    ],
    viewConfig: {
        getRowClass: function(record, rowIndex, rowParams, store){
            if(record.get('age') < 20){
                return 'red';
            }else if(record.get('age') > 40){
                return 'blue';
            }
        }
    },
    renderTo: document.body
});

Column render学习

步骤

  1. 为需要渲染的列设置renderer属性,并指定渲染函数。
var grid = Ext.create('Ext.grid.Panel', {
    store: store,
    columns: [
        {header: '姓名', dataIndex: 'name', flex: 1},
        {header: '年龄', dataIndex: 'age', flex: 1, renderer: function(value){
            if(value < 20){
                return '<span style="color:red">' + value + '</span>';
            }else{
                return value;
            }
        }},
        {header: '性别', dataIndex: 'gender', flex: 1},
    ],
    renderTo: document.body
});

示例

在这个示例中,如果数据中的年龄小于20岁,则在年龄单元格中的文字显示为红色;否则显示默认的文字颜色。

完整示例代码:

var store = Ext.create('Ext.data.Store', {
    fields: ['name', 'age', 'gender'],
    data: [
        {name: '张三', age: 25, gender: '男'},
        {name: '李四', age: 18, gender: '女'},
        {name: '王五', age: 45, gender: '男'},
        {name: '赵六', age: 30, gender: '女'}
    ]
});

var grid = Ext.create('Ext.grid.Panel', {
    store: store,
    columns: [
        {header: '姓名', dataIndex: 'name', flex: 1},
        {header: '年龄', dataIndex: 'age', flex: 1, renderer: function(value){
            if(value < 20){
                return '<span style="color:red">' + value + '</span>';
            }else{
                return value;
            }
        }},
        {header: '性别', dataIndex: 'gender', flex: 1},
    ],
    renderTo: document.body
});

以上就是“ExtJS4 Grid改变单元格背景颜色及Column render学习”的完整攻略。在实际的开发中,需要根据具体的场景来选择使用哪种方法,以达到最佳的效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ExtJS4 Grid改变单元格背景颜色及Column render学习 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • p​h​p​c​m​s​栏目调用详解

    PHPcms栏目调用详解 如果想要在 PHPcms 网站中调用某个栏目下的文章或子栏目信息,可以使用如下代码: {php} $catid = 1;//需要调用的栏目ID $categorys = getcache(‘category_content_1′,’commons’); $catid = intval($catid); $data = array()…

    css 2023年6月9日
    00
  • 3dmax怎么建模眼镜盒模型? 3dmax盒子建模过程

    3Dmax的盒子建模是建立在基本几何体的基础上的,可以将基本几何体进行合并、剖分或调整大小等处理,制作出带有较复杂模型的3D物体。下面就针对眼镜盒模型的建模过程进行详细的讲解和示例说明。 步骤一:建立盒子 首先打开3Dmax软件,并选择“立方体”工具。在视图界面上单击鼠标右键,然后拖拽鼠标,可以添加自定义的盒子大小。 示例图: |————–…

    css 2023年6月11日
    00
  • div css命名规范 css class命名规则(符合SEO规范)

    DIV CSS命名规范是按照指定方式为HTML标记分配类名的规则,它为开发者带来了很多好处,包括更好的代码可读性、更好的可维护性、更好的结构化、可定位性和扩展性。 以下是DIV CSS命名规范的建议: 1. 采用有意义的类名 我们应该为元素分配一个有意义的名称,这样不仅使CSS代码更容易理解,而且可以使HTML标记更具有语义,更易于SEO。 例如,如果您正在…

    css 2023年6月9日
    00
  • CSS 同级元素position:fixed和margin-top共同使用的问题

    CSS中的position属性有很多种取值,其中fixed表示固定定位,即元素相对于浏览器窗口进行定位。而margin-top属性则控制一个元素顶部的外边距。在特定情况下,同时使用position:fixed和margin-top属性可能会产生一些意想不到的问题:fixed定位的元素没有占据文档流,margin-top属性指定的元素的顶部外边距可能会重叠到f…

    css 2023年6月10日
    00
  • Jquery常用技巧收集整理篇

    Jquery常用技巧收集整理篇 Jquery 是一款非常流行的 JavaScript 库,它能够帮助开发人员更快速地操作 HTML 文档,实现动态效果和交互。在 Jquery 的使用中,有一些常用的技巧非常值得学习和掌握。 1. 使用选择器优化代码 Jquery 提供了非常强大的选择器功能,可以通过各种方式快速定位到需要操作的元素。在使用 Jquery 的过…

    css 2023年6月9日
    00
  • jQuery 3.0十大新特性最终版发布

    jQuery 3.0十大新特性最终版发布:完整攻略 jQuery 3.0是目前最新版本的jQuery,相比于旧版本,它引入了许多新特性。下面是jQuery 3.0的十大新特性: 1. 遵循ES2015规范 jQuery 3.0遵循了ES2015规范,实现了许多旧版jQuery没有的功能,比如使用let和const关键字来声明变量。 2. 支持Promises…

    css 2023年6月9日
    00
  • 关于Chrome浏览器字体显示的太小不一的bug处理

    关于Chrome浏览器字体显示太小不一的bug处理,主要有以下几个步骤: 第一步:检查Chrome浏览器设置 首先,我们需要检查一下Chrome浏览器的设置,确保它们没有被更改过。具体步骤如下: 打开Chrome浏览器。 点击右上角的菜单按钮,选择“设置”。 在设置页面中,找到“外观”一栏。 确保“字体大小”和“页面缩放”设置为默认值。 如果上述设置没有问题…

    css 2023年6月9日
    00
  • JS实现排行榜文字向上滚动轮播效果

    JS实现排行榜文字向上滚动轮播效果是一种较为常见的UI设计,其核心思想是通过JavaScript控制文本容器不断改变其显示内容,从而产生类似于向上滚动的视觉效果。这种轮播效果不仅美观,而且具有良好的用户体验性,可以在Web开发中被广泛应用。本文将提供一份完整的攻略,帮助开发者学习和掌握JS实现排行榜文字向上滚动轮播的方法。 一、样式与HTML结构 在实现JS…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部