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日

相关文章

  • javascript判断移动端访问设备并解析对应CSS的方法

    以下是详细的JavaScript判断移动端访问设备并解析对应CSS的方法: 1.通过userAgent判断 我们可以通过用户代理(userAgent)字符串来判断设备类型,因为每个设备的userAgent都不同。例如,iPhone的userAgent是以“Mozilla/5.0 (iPhone”开头的字符串。所以我们可以通过判断userAgent的类型来确定…

    css 2023年6月10日
    00
  • CSS中link和@import的区别说明

    CSS中link和@import都是用于导入css文件的语法,但它们之间有很多不同之处。 区别一 link是HTML标签,需要写在head标签中,而@import是CSS语法,需要写在CSS文件中,不能写在HTML文件中。 区别二 link可以通过rel属性指定关系属性,如stylesheet、icon等,而@import没有这个属性,只能导入样式文件。 区…

    css 2023年6月10日
    00
  • css position 设置元素的定位方式详解

    CSS position 的定位方式详解 什么是 CSS position ? CSS position 是用来设置元素定位方式的一个属性。当一个元素被设置了 position 属性之后,我们可以用 top、bottom、left 和 right 来确定它的位置。 一般来说,CSS position 有 4 种类型: static:静态定位,默认值。 rel…

    css 2023年6月9日
    00
  • CSS3 icon font完全指南(CSS3 font 会取代icon图标)

    CSS3 Icon Font完全指南 什么是CSS3 Icon Font? CSS3 Icon Font,即CSS3字体图标,是用CSS3代码代替图片来设计网页图标的方法。它的出现极大地简化了网页图标的制作流程,从而加快了网页的开发速度。与传统的图片图标相比,CSS3 Icon Font优势在于具有良好的可扩展性、优异的渲染性能和更好的可维护性。 CSS3 …

    css 2023年6月9日
    00
  • js实现添加删除表格操作

    针对“js实现添加删除表格操作”的问题,我将提供一份完整攻略,包含以下步骤: HTML结构 首先需要构建一个表格的HTML结构,具体代码如下: <table id="myTable"> <thead> <tr> <th>Name</th> <th>Age</th…

    css 2023年6月10日
    00
  • CSS 动态高度过渡动画效果的实现

    针对CSS动态高度过渡动画效果的实现攻略,我给出以下具体步骤。 步骤一:定义动画的容器 首先需要创建一个容器,用来承载动画。比如以下HTML代码,其中div就是动画的容器。 <div class="container"> <p>这是动画的内容</p> </div> 步骤二:定义初始高度和过渡…

    css 2023年6月10日
    00
  • 网页布局+纯CSS纵向下拉菜单 IE6/IE7兼容

    下面我来详细讲解“网页布局+纯CSS纵向下拉菜单 IE6/IE7兼容”的完整攻略。 网页布局 关于网页布局,根据不同的需求和设计,可以采用多种不同的布局方式,比如经典的水平居中布局、流式布局、响应式布局等等。根据业务需求和UI设计,选择适合的布局方式。 其中常见的一种网页布局方式是使用flex布局,它在现代浏览器中有很好的支持。具体使用方式如下: 在父元素上…

    css 2023年6月11日
    00
  • js自制图片放大镜功能

    下面是关于“js自制图片放大镜功能”的完整攻略。 需求分析 在网站中,我们经常需要实现图片放大功能,而放大镜效果是一种常见的实现方式。放大镜会在鼠标悬浮在图片上时,弹出一个局部放大的镜头,帮助用户更方便的查看细节。 整体思路 下面是实现放大镜效果的整体思路: 将要放大的图片进行裁剪,获得两份图片,一份是缩略图,一份是原图。 将缩略图和放大镜框上传到网站上。 …

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