`
编程足球
  • 浏览: 257020 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Ext.grid.GridPanel 显示数据

    博客分类:
  • Ext
阅读更多
编写js文件
1. 数据,要显示到页面上的数据
var myData = [
				[	
					1,
				 	{
                    	text: 'Ext',
                    	url: 'http://extjs.com'
                	},
                	-10.00, 
                	'2008-01-01 12:01:01', 
                	'br.gif', 
                	'Atlantic Spadefish.jpg', 
               		{
                    	text: '一',
                    	tips: '提示1'
                	}
                ],
                
                [	
                	2, 
                	{
                    	text: 'Google',
                    	url: 'http://www.google.cn'
                	}, 
                	1.00, 
                	'2008-02-16 12:01:02', 
                	'fr.gif', 
                	'Bat Ray.jpg', 
                	{
                    	text: '二',
                    	tips: '提示2'
                	}
                ], 
             	[	
             		3, 
             		{
                    	text: '新浪',
                    	url: 'http://www.sina.com.cn'
                	}, 
                	0, 
                	'2008-03-15 12:01:03', 
                	'cu.gif', 
                	'Blue Angelfish.jpg', 
                	{
                    	text: '三',
                    	tips: '提示3'
                	}
                ], 
                [
                	4, 
                	{
                    	text: '雅虎',
                    	url: 'http://www.yahoo.com.cn'
                	}, 
                	10.01, 
                	'2008-04-14 12:01:04',
                	'es.gif', 
                	'Bluehead Wrasse.jpg', 
                	{
                    	text: '四',
                    	tips: '提示4'
                	}
                ], 
                [
                	5, 
                	{
                    	text: 'CSDN',
                    	url: 'http://www.csdn.net'
                	}, 
                	200.90, 
                	'2008-05-13 12:01:05', 
                	'cn.gif', 
                	'Cabezon.jpg', 
                	{
                    	text: '五',
                    	tips: '提示5'
                	}
                ]
           	];


装载入Ext.data.SimpleStore
把数据装载到一个简单的Store中
            var store = new Ext.data.SimpleStore({
//			设置 	编号, 	链接, 	数字,	时间,	图标,	图片提示,	文字提示
                    fields: [
                    	{
                        	name: 'id',type: 'int'  //编号
                   		},{
                        	name: 'linker'//链接
                    	},{
                        	name: 'number',type: 'float'//数字
                    	},{
                    		name: 'datetime',type: 'date',dateFormat: 'Y-m-d H:i:s'//时间
                    	},{
                        	name: 'icon'//图标
    					},{
                        	name: 'qtips'//图片提示
                   	 	},{
                        	name: 'tips'//文字提示
                    	}]
                });
                store.loadData(myData);



用最常用的GridPanel显示数据
               //定义方法,为数据载入表格时候有不同的显示
                
                function leftPadfun(val){
                    return String.leftPad(val, 5, "0");
                }
                
                /**
                 *  根据text: , url 生产一条完整的链接
                 */
                function linkerfun(val){
                    if (typeof val == 'object') {
                        return '<a style="display:table;width:100%;" title="' + val.url + '" target="_blank" href="' + val.url + '">' + val.text + '</a>'
                    }
                    return val;
                }
                
                /**
                 * 根据数值的大小分别显示不同的颜色
                 * 大于0		显示为绿色
                 * 小于0 	显示为红色
                 */
                function numfun(val){
                    if (val > 0) {
                        return '<span style="color:green;">' + val + '</span>';
                    }
                    else 
                        if (val < 0) {
                            return '<span style="color:red;">' + val + '</span>';
                        }
                    return val;
                }
                
                /**
                 * 得到图标的应用
                 */
                function iconfun(val){
                    return '<img src="images/' + val + '">'
                }
                
                /**
                 * 得到提示图片
                 * 添加qtip属性
                 * 要在HTML中使用QuickTip显示提示,只要在标记中加入qtip属性就可以了
                 * Ext.QuickTips.init();进行初始化
                 * 
                 */
                function qtipsfun(val){
                    return '<span style="display:table;width:100%;" qtip=\'<img src="images/' + val + '">\'>' + val + '</span>'
                }
                
                /**
                 * 包含提示的文字
                 */
                function tipsfun(val){
                    if (typeof val == 'object') {
                        return '<span style="display:table;width:100%;" title="' + val.tips + '">' + val.text + '</span>'
                    }
                    return val
                }
                 
                var grid = new Ext.grid.GridPanel({
                    height: 350,
                    width: 800,
                    store: store,
                    title: '自定义单元格的显示格式',
                    frame: true,
                    columns: [{
                        header: '编号',
                        width: 80,
                        sortable: true,
                        renderer: leftPadfun,
                        dataIndex: 'id'
                    }, {
                        header: "链接",
                        width: 75,
                        sortable: true,
                        renderer: linkerfun,
                        dataIndex: 'linker'
                    }, {
                        header: "数字",
                        width: 75,
                        sortable: true,
                        renderer: numfun,
                        dataIndex: 'number'
                    }, {
                        header: "时间",
                        width: 85,
                        sortable: true,
                        renderer: Ext.util.Format.dateRenderer('Y-m-d'),
                        dataIndex: 'datetime'
                    }, {
                        header: "图标",
                        width: 75,
                        sortable: true,
                        renderer: iconfun,
                        dataIndex: 'icon'
                    }, {
                        header: "图片提示",
                        width: 75,
                        sortable: true,
                        renderer: qtipsfun,
                        dataIndex: 'qtips'
                    }, {
                        header: "文字提示",
                        width: 75,
                        sortable: true,
                        renderer: tipsfun,
                        dataIndex: 'tips'
                    }],
                    stripeRows: true,
                    autoExpandColumn: 5,
                    listeners: {
                    	
//						定义列单击时间监听
//                        rowclick: function(trid, rowIndex, e){
//                            Ext.get('op').dom.value += '------------------------\n' +
//                            Ext.encode(store.getAt(rowIndex).data) +
//                            '\n';
//                    	}
                    	rowclick : rowclickevent
                    }
                });
                
//             	对QuickTips进行初始化
                Ext.QuickTips.init();
                
                function rowclickevent(trid, rowIndex, e)
                {
                	Ext.get('op').dom.value += '------------------------\n' +
               		Ext.encode(store.getAt(rowIndex).data) + '\n';
                }


在html文件中显示出来
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <title>自定义单元格的显示格式</title>
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
     	<!-- 引入必要的Ext库文件-->
     	<link rel="stylesheet" type="text/css" href="../Extjs/resources/css/ext-all.css" />
     	<!-- EXT LIB -->    
     	<script src="../Extjs/adapter/ext/ext-base.js"></script>
     	<script src="../Extjs/ext-all.js"></script>
     	<script type="text/javascript" src="1_Grid.js"></script>
        <script type="text/javascript">
            Ext.onReady(function(){
            
                Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
                
                
                Ext.Msg.minWidth = 300;

//				把表格加载到id为panell的div中
                grid.render('panel1');

//	              设置textarea为空
                Ext.get('op').dom.value = "";
            })
        </script>
    </head>
    <body>
        <h1 style="margin:20px 0px 0px 20px;">第4章 自定义单元格的显示格式</h1>
        <br/>
        <div style="padding-left:20px;">
             <div id="panel1">
             </div>
             
             <br>
             <div>事件:</div>
             <textarea id='op' rows="10" style="width:800px;"></textarea>
            <br/>
        </div>
    </body>
</html>

分享到:
评论

相关推荐

    Ext.grid.GridPanel属性祥解

    `Ext.grid.GridPanel`是ExtJS中用于展示表格数据的核心组件之一。它提供了丰富的配置选项和方法来帮助开发者灵活地控制表格的表现形式及功能。对于初学者或者希望深入理解`GridPanel`特性的Web开发人员来说,掌握其...

    Ext.grid.GridPanel 删除线

    Ext.grid.GridPanel 删除线 放到example文件夹下运行

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

    Ext.grid.GridPanel 是一个功能强大且广泛使用的Grid控件,但是它存在一个很大的缺陷:单元格的内容不能选中,没法选中就没法复制,这给用户带来了很多不便。这个问题的根源在于ExtJs输出的代码中,每个单元格的div...

    ExtJs选中var editor = new Ext.ux.grid.RowEditor详解

    var grid = new Ext.grid.GridPanel({ store: store, // 绑定数据存储 columns: [/* 定义列 */], plugins: [editor], // 使用 RowEditor 作为插件 title: 'My Grid', width: 500, height: 300, renderTo: ...

    Ext.grid.ColumnModel显示不正常

    Ext.grid.ColumnModel显示不正常

    可编辑表格Ext.grid.EditorGridPanel

    2. Ext.grid.EditorGridPanel:EditorGridPanel是Ext JS中的一种网格组件,它扩展了GridPanel,增加了单元格级别的编辑功能。用户可以直接在表格中修改数据,而无需跳转到单独的编辑页面。 二、核心特性 1. 可编辑...

    Ext grid panel 滚动条位置不变

    Ext grid panel 是Ext JS框架中的一个组件,用于展示表格形式的数据。它提供了丰富的功能,如分页、排序、筛选等,并且可以通过配置实现自定义样式和交互行为。对于实时数据的展示,保持滚动条位置不变是一个关键...

    Ext.grid.GridPanel右键菜单

    右键菜单的资料,代码已经详细描写。请仿照文件中所描述即可使用,不限于EXT4.0以上版本使用。

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    这段代码创建了一个`Panel`,其中包含一个`GridPanel`,并配置了`Store`来从`data.json`加载数据。 接下来,`TreePanel`是用来展示树形结构数据的组件,常用于文件系统或组织结构的展示。与`Ext.Panel`类似,`...

    Ext表格列锁定+多表头插件

    首先,"列锁定"是Ext Grid中一个非常实用的功能,特别是在显示宽广、多列的数据表时。列锁定允许用户固定某些列,以便始终保持这些关键列在视图的可见范围内,而其他列可以滚动。这样,用户无需不断滚动整个表格就能...

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

    GridPanel由Store(数据存储)和ColumnModel(列模型)组成,它们定义了数据源和显示样式。在创建GridPanel时,我们需要配置这两个部分,例如: ```javascript var store = Ext.create('Ext.data.Store', { fields...

    Ext表格获取后台数据

    Ext.grid.GridPanel是一个功能强大的表格控件,它可以显示大量数据,并且提供了许多自定义的选项,例如分页、排序、过滤等。 在ExtJS中,表格控件对性能的要求较高,特别是在显示大量数据时。如果不使用分页机制,...

    ext grid 合计行

    找了半天,结果在extjs的老家找到一个前辈写的代码,可以在grid上面加上合计, &lt;br&gt;但是却只能合计grid里面的数据,但是我们平常一般是只显示20行或者30行,这样的合计就没有什么意义,我们的合计数据是单独从...

    Ext组件描述,各个组件含义

    **2.6 Grid Panel (Ext.grid.GridPanel)** - **xtype**: `grid` - **功能描述**:Grid Panel 是一个用于展示表格数据的组件。 - **主要用途**:展示结构化数据,支持排序、过滤等功能。 **2.7 Paging Toolbar (Ext...

    给Extjs的GridPanel增加“合计”行

    在实际应用中,我们经常需要在GridPanel底部显示一行“合计”行,以便对某一列或多列的数据进行求和或其他统计操作。这篇博文“给Extjs的GridPanel增加‘合计’行”将指导我们如何实现这一功能。 首先,我们需要...

    EXT GridPanel获取某一单元格的值

    EXT GridPanel是EXT JS库中的一个核心组件,用于创建数据密集型的表格视图。它在Web应用程序中常用于展示大量结构化数据,并提供多种交互功能,如排序、分页、筛选和编辑等。在EXT GridPanel中,获取某一单元格的值...

    ext表格布局小例子

    其表格组件(`Ext.grid.GridPanel`)是其最具特色的功能之一,广泛应用于数据展示和管理。 #### 二、代码分析 在本例中,我们首先引入了必要的 ExtJS 相关文件,包括样式表、脚本等资源。 ```html ...

    Ext2.0框架的grid使用

    Grid组件在Ext2.0框架中主要用于展示表格形式的数据,支持多样的数据源类型,包括二维数组、JSON数据和XML数据,甚至是用户自定义的数据格式。这一灵活性得益于框架提供的`Ext.data.Store`,它作为数据与Grid间的...

    extjs单元格无法复制

    解决 ExtJS GridPanel 单元格无法选中复制的问题需要两个步骤:添加新的 CSS 样式和修改 Ext.grid.GridPanel 的 prototype。通过这些步骤,我们可以使得单元格的内容可以被选中和复制,从而提高用户体验。

    Ext Grid表格的自动宽度及高度的实现

    在Ext JS中,`Ext.grid.GridPanel`是用于展示数据的主要组件之一。通过合理配置Grid的属性,可以使其根据父容器的大小动态调整自身尺寸,确保表格在任何布局下都能完美呈现。 #### 1. 利用CSS设置父容器尺寸 首先...

Global site tag (gtag.js) - Google Analytics