`
wangmengbk
  • 浏览: 292363 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ext.grid.GridPanel_样式

    博客分类:
  • Ext
阅读更多
以下是一个简单的grilPanel,并且做了一些样式,做的不好,请包涵!

有什么意见可留言相告!谢谢!

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

     <style type="text/css">
     .blist {
     background-image: url(img/add16.gif)!important;
 
  
}
    </style>
    <title>表格显示</title>
 
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">  
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css">
<%-- <link rel="stylesheet" type="text/css" href="ext/resources/css/xtheme-green.css">--%>
<script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext/ext-all.js"></script>
<%--  <link rel="stylesheet" href="ext/resources/css/visual/grid.css" type="text/css"></link></head>--%>
  <script type="text/javascript">
   Ext.onReady(function(){
   Ext.QuickTips.init();
    //Ext.util.CSS.swapStyleSheet("theme","ext/resources/css/xtheme-gray.css");
    var data=[
    {id:"1",name:"王孟",sex:"男",age:"20"},
    {id:"2",name:"王山",sex:"女",age:"18"},
    {id:"3",name:"王孟",sex:"男",age:"20"},
    {id:"4",name:"杨占峰",sex:"男",age:"23"},
    {id:"5",name:"王孟",sex:"男",age:"20"},
    {id:"6",name:"赵鹏",sex:"男",age:"24"},
    {id:"7",name:"王孟",sex:"男",age:"20"},
    {id:"8",name:"知州",sex:"男",age:"20"},
    {id:"9",name:"吴真",sex:"男",age:"24"},
    {id:"10",name:"一见如故",sex:"女",age:"20"},
    {id:"11",name:"旋",sex:"女",age:"16"},
    {id:"12",name:"如如",sex:"女",age:"20"},
    {id:"13",name:"三星",sex:"男",age:"18"}
    ];
    var store=new Ext.data.JsonStore({
     data:data,
     fields:["id","name","sex","age"]
    });
   
  
    //定义表格编号
    var rowNumber=new Ext.grid.RowNumberer({
     width:30,
     sortable:true
     //header:"序号"
    });
    var sm=new Ext.grid.CheckboxSelectionModel();//实例化一个多选框
    //根据条件用来转换年龄的字体颜色
    function pctChange(val){
        if(val <20){
            return '<span style="color:green;">' + val + '</span>';
        }else if(val > 20){
            return '<span style="color:red;">' + val + '</span>';
        }
        return val;
    }
  
 
    //定义列
    var colum=new Ext.grid.ColumnModel(
    [
    rowNumber,
    sm,
    {
    
     header:"编号",
     dataIndex:"id",//绑定字段
     sortable:true,//是否排序
     width:100
    
    },
    {
     header:"姓名",
     dataIndex:"name",
     sortable:true,
     width:100
    },
    {
     header:"性别",
     dataIndex:"sex",
     sortable:true,
     width:100
    },
    {
     header:"年龄",
     dataIndex:"age",
     sortable:true,
     renderer:pctChange,//设置年龄显示的颜色
     width:100
    }
    ]);
    //设置显示列为中文
    var viewC=new Ext.grid.GridView({
     columnsText:"请选择显示的列",
     sortAscText:"升序",
     sortDescText:"降序",
     getRowClass : function(record, rowIndex, p, store){
                if(this.showPreview){
                    p.body = '<p>'+record.data.excerpt+'</p>';
                    return 'x-grid3-row-expanded';
                }
                return 'x-grid3-row-collapsed';
            }
    });
    //定义搜索控件
    var tbar=new Ext.Toolbar({
     items:[
      "请输入查询信息:",
      "-",
      {
       xtype:"textfield",
       name:"message",
       id:"message",
       emptyText:"==请输入==",
       allowBlank:false,
       validateOnBlur:true,//失去焦点验证
       blankText:"请输入要查询的信息",
       msgTarget:"side"
      
      },
      "-",
      {
       id:"btnS",
       text:"查询",
       iconCls:"blist",
       handler:function(){
        Ext.MessageBox.alert("输入:",Ext.getCmp("message").getValue())//Ext.getCmp("message").getValue()根据Id得到控件里的值或Ext.get("message").dom.value
       }
      }
     ]
    });
    //定义分页按钮
    var bbar=new Ext.PagingToolbar({
     pageSize:4,
     store:store,
     displayInfo:true,
     lastText:"尾页",
            nextText:"下一页",
            beforePageText:"当前",
            refreshText:"刷新",
            afterPageText:"页,共{0}页",
     displayMsg: '显示 {0} - {1} 共 {2}',
     emptyMsg:"对不起,没有您查询的信息"
    
     //plugins:new Ext.ux.SlidingPager()
    
    });
   
  
   
    //定义grid面板
    var gridP=new Ext.grid.GridPanel(
    {
     id:"grids",
     title:"基本信息列表",
     width:500,
     height:300,
     cm:colum,
     store:store,
     viewConfig:viewC,
     renderTo:Ext.getBody(),
     iconCls:"dd",
     tbar:tbar,//设置搜索控件
     //loadMask:true,//加载效果
     stripeRows:true,//设置斑马颜色
     bbar:bbar,//设置分页栏
      stripeRows: true,
     loadMask:{
      msg:"数据正在加载中...."
     },
     buttons:[
      {
       id:"btnSave",
       text:"添加",
       iconCls:"blist",//使用自定义样式
      
        renderTo:'btn',
      
       handler:function(){
        save();
       }
      },
      {
       id:"btnUpdate",
       icon: "img/dd-10.gif",
           cls: "x-btn-text-icon",
       text:"修改"
      },
      {
       id:"btnDel",
       text:"删除"
      }
     ]
     //overCls:"active"
   
    });
    //点击后使该行的背景色该为红色
   gridP.addListener('rowclick',function(gridP, rowIndex,  e){
       var s=gridP.getStore();
       var x=s.getAt(rowIndex);
      //alert(x.get('id'));
     gridP.getView().getRow(rowIndex).style.backgroundColor="red";
     });
   gridP.render();//重新加载
<%--   store.load({//加载数据--%>
<%--   params:{start:0,limit:4}--%>
<%--   });--%>
 
   });
     </script>
<body>
    <div id="panles"/>
   
  </body>
</html>



-----------在ext-all.css修改代码如下---------

.x-grid3-row {

  border-color:#ffaaee;//改变grid边框颜色

  border-top-color:#fff;

}



.x-grid3-row-alt{

       background-color:#ddeeaa;//改变 行的颜色

}



.x-grid3-row-over {

       border-color:#ddd;

  background-color:#ee1166;//鼠标移上去改变行的底色

  background-image:url(../images/default/grid/row-over.gif);

}


===浏览效果见附件===
  • 大小: 31 KB
分享到:
评论

相关推荐

    Ext.grid.GridPanel属性祥解

    综上所述,`Ext.grid.GridPanel`提供了非常全面且强大的功能,使得开发者能够根据实际需求灵活定制表格的样式和交互。通过深入了解这些配置选项和方法,可以更高效地利用ExtJS框架实现复杂的前端表格功能。

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

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

    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 panel 滚动条位置不变

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

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

    这个插件主要用于改进Ext Grid的用户体验,特别是处理大量数据时,通过列锁定和多表头功能,使得用户能够更有效地浏览和操作数据。 首先,"列锁定"是Ext Grid中一个非常实用的功能,特别是在显示宽广、多列的数据表...

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

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

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

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

    extjs单元格无法复制

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

    ext表格布局小例子

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

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

    在这个示例中,`grid`对象是一个`Ext.grid.GridPanel`实例,它包含了数据存储(`store`)、列定义以及样式配置等。值得注意的是`width`和`height`属性的设置方式,正是我们前面讨论的动态尺寸调整策略。 ### 小结 ...

    给Extjs的GridPanel增加“合计”行

    - 首先,我们需要创建一个继承自EXTJS的`Ext.grid.GridView`的自定义View类。这个类将覆盖默认的渲染逻辑,以便在表格底部插入合计行。 - 在`GridSummary.js`文件中,我们可以定义这个类,并重写`onRender`方法,...

    extjs动态表头,绝对的好东西啊

    这个"extjs动态表头"的资源很可能是一个插件或组件,名为`Ext.ux.grid.DynamicGridPanel.js`,它扩展了ExtJS的标准GridPanel,增加了动态调整列的能力。 动态表头的核心功能包括: 1. **实时编辑**:用户可以在...

    ExtJs框架系列之ProgressGrid进度条

    ProgressColumn是Ext.ux.grid的一个扩展,它允许你在ExtJs的GridPanel中添加一列专门用于显示进度条。这对于监控任务进度、数据加载状态或者任何需要实时反馈的情况非常有用。下面,我们将详细介绍如何使用...

    Ext修改GridPanel数据和字体颜色、css属性等

    Ext修改GridPanel数据和字体颜色等,不是单指EditGridPanel 首先获取选中的行(当然也可以获取单元格): 代码如下: var selectedRow = grid.getSelectionModel().getSelected(); 修改设置: 代码如下: selectedRow....

    ExtJs学习资料28-Ext.data.JsonStore数据存储器.doc

    var grid=new Ext.grid.GridPanel({ title:"个人信息表(JsonStore 读取数据)", iconCls:"icon", renderTo:Ext.getBody(), width:320, height:140, frame:true, collapsible:true, titleCollapse:true, ...

    解决ext下拉列表全选和去全选功能

    EXTJS的`GridPanel`提供了`selModel`属性来管理选择,你可以通过`selModel.selectAll()`和`selModel.deselectAll()`方法来实现全选和去全选。 标签中的“源码”意味着你需要理解EXTJS的底层工作原理,而“工具”则...

    extjs单元格合并

    EXTJS单元格合并 EXTJS单元格合并是指在EXTJS GridPanel中实现...EXTJS单元格合并可以通过加入CSS样式、引入Ext.ux.grid.RowspanView对象和配置GridPanel来实现。这样可以使得GridPanel中的数据显示更加简洁和清晰。

    Ext JS 删除的代码

    如果用户确实选择了记录,`Ext.grid.GridPanel`的`getSelected()`方法将返回选中的记录。接着,获取选中记录的`eid`字段值,这是要删除的数据的ID。 然后,通过`Ext.Msg.confirm`弹出一个确认对话框,询问用户是否...

    ext 编程开发指南

    3. **创建Grid**:使用`Ext.grid.GridPanel`组件。 ```javascript // 创建数据存储 var store = new Ext.data.ArrayStore({ fields: ['name', 'email'], data : [['Tom', 'tom@example.com'], ['Jerry', 'jerry@...

    扩展GridPanel,附带分页选中状态,实现快速构建一个功能齐全的Grid

    6. **自定义样式**: 如果扩展还包括界面样式调整,可能还会在`cgrid.js`中包含CSS类名的定义,或者引用外部CSS文件来改变GridPanel的外观。 7. **实例化和使用`: 创建`MyCustomGrid`实例并在页面中使用。这可能涉及...

Global site tag (gtag.js) - Google Analytics