`
qinya06
  • 浏览: 595013 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

格式化

阅读更多
//创建edgrid.js
Ext.onReady(function(){
    Ext.QuickTips.init();

    // 格式化日期显示
    function formatDate(value){
        return value ? value.dateFormat('Y, M d') : '';
    }
    // 格式化性别显示,这是个 renderer, 渲染器
    function formatSex(value) {
        return value ? "男" : "女";
    }
    // 弄个缩写的别名
    var fm = Ext.form;

    // 列模型定义了表格所有列的信息,
    // dataIndex 将特定的列映射到数据源(Data Store)中的数据列(在后面创建)
    var cm = new Ext.grid.ColumnModel([
            {
           id:'id',
           header: "编号",
           dataIndex: 'id',
           width: 50
        },
        {
           id:'name',
           header: "用户名",
           dataIndex: 'name',
           width: 250,
           editor: new fm.TextField({
               allowBlank: false// 不能为空
           })
        },
        {
           header: "地区",
           dataIndex: 'area',
           width: 100,
           editor: new Ext.form.ComboBox({
               typeAhead: true,
               triggerAction: 'all',
               transform:'area',// 对应的选择框的ID
               lazyRender:true,
               listClass: 'x-combo-list-small'
            })
        },
        {
           header: "电子邮件",
           dataIndex: 'email',
           width: 220,
           align: 'left',
           editor: new fm.TextField({
               allowBlank: true
           })
        },
        {
           header: "年龄",
           dataIndex: 'age',
           width: 70,
           align: 'right',
           editor: new fm.NumberField({
               allowBlank: true,
               allowNegative: false,
               maxValue: 100
           })
        },
        {
           header: "生日",
           dataIndex: 'birthDay',
           width: 95,
           renderer: formatDate,
           editor: new fm.DateField({
                format: 'y/m/d',
                minValue: '1970/01/01',//最小值
                disabledDays: [0, 6],// 禁止选择的日期
                disabledDaysText: '不许'
            })
        },
        {
           header: "性别",
           dataIndex: 'sex',
           width: 95,
           renderer: formatSex,
           editor: new fm.Checkbox()
        }
    ]);

    // 默认情况下列是可排序的
    cm.defaultSortable = true;

    // 定义一个用户对象,这样便于我们动态的添加记录,虽然也可以设置成匿名内置对象
    var User = Ext.data.Record.create([
           // 下面的 "name" 匹配读到的标签名称, 除了 "birthDay",它被映射到标签 "birth"
           {name: 'id', type: 'int' },
           {name: 'name', type: 'string'},
           {name: 'area'},
           {name: 'email', type: 'string'},
           {name: 'age', type: 'int'},             // automatic date conversions
           {name: 'birthDay', mapping: 'birth', type: 'date', dateFormat: 'Y/m/d'},
           {name: 'sex', type: 'bool'}
      ]);

    // 创建 Data Store
    var store = new Ext.data.Store({
        // 使用 HTTP 加载
        url: 'users.xml',

        // 因为返回值是 XML, 所以我们创建一个解析器
        reader: new Ext.data.XmlReader({
               // 记录必须包含 "user" 标签
               record: 'user'
           }, User),

        sortInfo:{field:'name', direction:'ASC'}// 排序信息
    });

    // 创建编辑器表格
    var grid = new Ext.grid.EditorGridPanel({
        store: store,
        cm: cm,
        renderTo: 'editor-grid',
        width:800,
        height:300,
        autoExpandColumn:'name',
        title:'功能管理',// 标题
        frame:true,
        clicksToEdit:1,//设置点击几次才可编辑
        selModel: new Ext.grid.RowSelectionModel({singleSelect:false}),//设置单行选中模式, 否则将无法删除数据

        // 顶部工具栏按钮
        tbar: [
        {
            text: '新增',
            iconCls:'xz',//按钮图标的CSS名称
            handler : function(){// 点击按钮执行的操作
                var n = grid.getStore().getCount();// 获得总行数
                var p = new User({
                    id: n + 1,
                    name: '新数据' + n,
                    area: '',
                    email: 'Benson@163.com',
                    age: 20,
                    birthDay: (new Date()).clearTime(),
                    sex: true
                });
                grid.stopEditing();// 停止编辑
                store.insert(n, p);// 插入到最后一行
                grid.startEditing(n, 1);// 开始编辑1单元格
            }
        },
        {
            text: '删除',
            iconCls:'sc01',
            handler : function(){
           
                //var record = grid.getSelectionModel().getSelected();// 返回值为 Record 类型
                var rows = grid.getSelectionModel().getSelections();// 返回值为 Record 数组
if(rows.length==0){
Ext.MessageBox.alert('警告', '最少选择一条信息,进行删除!');
}else{
Ext.MessageBox.confirm('提示框', '您确定要进行该操作?',function(btn){
if(btn=='yes'){
if(rows){
for (var i = 0; i < rows.length; i++) {
//alert(rows[i].get("id"));
store.remove(rows[i]);
//store.removeAll(); //删除所有数据

}
this.getEl().dom.action='./formservlet?operator=save';
this.getEl().dom.submit();
}
}
});
}                // 弹出对话框警告
            }
        },
        {
            text: '保存',
            iconCls: 'bc',
            handler : function(){
var recordtoedit = grid.getSelectionModel().getSelected();// 返回值为 Record 类型
                if(recordtoedit) {
                    Ext.Msg.alert('查看选中', "您现在选中的用户其名字为:" + recordtoedit.get("name"));// 取得用户名
                    // alert("您现在选中的用户其名字为:" + recordtoedit.get("name"));
                }
            }
        },
        {
            text: '查询',
            iconCls: 'cx',
            handler : function(){
              
            }
        }
        ]
    });

    // 单元格编辑后事件处理
    grid.on("afteredit", afterEdit, grid);
    // 事件处理函数
    function afterEdit(e) {
        var record = e.record;// 被编辑的记录
        // 显示等待对话框
        Ext.Msg.wait("请等候", "修改中", "操作进行中...");

          // 更新界面, 来真正删除数据
            Ext.Msg.alert('您成功修改了用户信息', "被修改的用户是:" + e.record.get("name").value + "\n 修改的字段是:"
            + e.field);// 取得用户名
    };

    // 触发数据加载
    store.load();
});

//创建edgrid.jsp

<%@page contentType="text;html; charset=GBK"%>
<%@page import="com.luke.hm.tree.EJBContext"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>表格编辑器示例</title>

<link rel="stylesheet" type="text/css" href="<%= EJBContext.getRootPath()%>/ext/resources/css/ext-all.css" />

<!-- 图标样式 CSS 信息 -->

<link rel="stylesheet" type="text/css" href="<%= EJBContext.getRootPath()%>/menujscss/edgrid.css" />

    <!-- GC -->
     <!-- LIBS -->
     <script type="text/javascript" src="<%= EJBContext.getRootPath()%>/ext/adapter/ext/ext-base.js"></script>
     <!-- ENDLIBS -->

    <script type="text/javascript" src="<%= EJBContext.getRootPath()%>/ext/ext-all.js"></script>
    <!-- 中文提示信息支持 -->
     <script type="text/javascript" src="<%= EJBContext.getRootPath()%>/ext/source/locale/ext-lang-zh_CN.js"></script>

    <!-- 本页的功能代码 -->
    <script type="text/javascript" src="edgrid.js"></script>
    <!--  DWR JavaScript 类库 -->
    <!--script type='text/javascript' src='/dwrtest/dwr/interface/JUserManager.js'></script-->
  <!--script type='text/javascript' src='/dwrtest/dwr/engine.js'></script-->

</head>
<body>

<h1>
  <select name="area" id="area" style="display: none;">
      <option value="历城区">历城区</option>
      <option value="历下区">历下区</option>
      <option value="槐荫区">槐荫区</option>
  </select>

  <!-- 放置可编辑控件的 DIV -->
</h1>
<div id="editor-grid"></div>

</body>
</html>

//创建users.xml
<?xml version="1.0" encoding="GBK"?>
<users>
  <user>
      <id>1</id>
    <name>XXX1</name>
    <area>XXX2</area>
    <email>XXX1@126.com</email>
    <age>88</age>
    <sex>true</sex>
    <birth>1980/01/01</birth>
  </user>
    <user>
    <id>2</id>
    <name>Benson</name>
    <area>山东济南</area>
    <email>Benson@163.com</email>
    <age>27</age>
    <sex>true</sex>
    <birth>1982/12/12</birth>
  </user>
    <user>
    <id>3</id>
    <name>Benson_GG</name>
    <area>济南历下</area>
    <email>aa@bb.com</email>
    <age>28</age>
    <sex>false</sex>
    <birth>1982/12/11</birth>
  </user>

</users>

//创建edgrid.css
/** 定义了一些工具栏按钮的 CSS 样式 */
.xz {
    background-image:url(./xz.gif) !important;
}

.sc01 {
    background-image:url(./sc.gif) !important;
}

.sc02 {
    background-image:url(./sc.gif) !important;
}

.cx {
    background-image:url(./cx.gif) !important;
}

.bc {
    background-image:url(./bc.gif) !important;
} 
分享到:
评论

相关推荐

    代码格式化工具 代码格式化工具 代码格式化工具

    代码格式化工具是程序员在编写和维护代码时不可或缺的辅助工具。它们的主要功能是对源代码进行自动排版,使得代码风格统一,易于阅读和维护。本文将深入探讨代码格式化工具,特别是`AStyle`这款广泛应用的代码美化...

    提示“磁盘未被格式化,是否格式化”的解决方法

    提示“磁盘未被格式化,是否格式化”的解决方法 [适用] 1、典型地,台式机硬盘、笔记本盘、移动硬盘、U盘、数码卡、MP3; 2、普通硬盘; 3、很少的,盘阵等采用WINDOWS系统的存储; [症状] 1、突然袭断电、移动硬盘或U盘...

    标准化idea代码格式化模板

    该模板适用于java,自动格式化代码、xml、配置文件等。代码使用空格代替tab,缩进固定位4个空格。import防止优化,全部改为999,xml、前端代码,使用空格代替tab缩进默认为2个空格。java的doc注释,保留原有内容的...

    内存卡格式化工具

    内存卡格式化工具是一种专门用于对SD卡、Micro SD卡或其他类型内存卡进行格式化的实用程序。在日常使用中,由于各种原因,如病毒攻击、误操作或内存卡损坏,我们可能需要对内存卡进行格式化来恢复其正常工作状态。...

    HPU盘格式化工具

    标题中的“HPU盘格式化工具”是一款专用于U盘的格式化软件,它提供了简单易用的界面,用户只需运行程序即可对U盘进行快速的格式化操作。这款工具通常用于解决U盘中出现的问题,如病毒感染、数据损坏、无法读取或写入...

    代码格式化工具

    代码格式化工具是一种重要的开发辅助软件,主要用于整理和优化代码的布局与缩进,使得代码更易读、更规范。这种工具广泛应用于多种编程语言,包括但不限于Java、Python、JavaScript、C++等。通过自动调整代码的空格...

    Java Sql 格式化工具

    "Java Sql 格式化工具"是一个专为提升SQL代码可读性和规范性而设计的实用工具,尤其对于那些频繁编写和维护SQL语句的开发者而言,它能显著提高工作效率。本工具基于Sqlplus developer,它提供了一种将混乱无序的SQL...

    Eclipse设置Java代码格式化(包含阿里格式化脚本).zip

    `Eclipse`作为一款流行的Java集成开发环境,提供了一系列功能来帮助开发者遵循统一的代码格式化标准。本教程将指导你如何在Eclipse中配置Java、JavaScript、CSS、HTML和XML等语言的代码格式化,特别引入了阿里集团的...

    CSS格式化工具

    **CSS格式化工具详解** 在Web开发中,CSS(Cascading Style Sheets)是用于控制网页元素样式的重要语言。然而,随着项目规模的扩大,CSS代码可能会变得杂乱无章,难以维护。这时,CSS格式化工具就显得尤为重要。...

    sd卡快速格式化工具

    标题中的“sd卡快速格式化工具”指的是一个用于对SD(Secure Digital)存储卡进行快速、便捷格式化的软件。在日常使用中,SD卡可能会因为各种原因,如病毒感染、密码遗忘或存储问题,需要进行格式化操作以恢复其正常...

    json格式化小程序

    总之,"Json格式化小程序"是开发过程中一个非常实用的工具,它通过提供JSON数据的格式化服务,极大地提高了开发效率,降低了调试难度。对于处理大量JSON数据的开发者来说,这样的工具是必不可少的。无论是从用户体验...

    Keil uVision5 代码格式化

    2. 在项目中选择需要格式化的源文件,右键点击并选择“Format Code”或使用快捷键(通常是Ctrl+Shift+F)来启动代码格式化功能。 3. Keil会根据默认的代码风格规则自动调整代码布局。如果需要自定义格式化规则,可以...

    SQL语句格式化工具

    SQL语句格式化工具是一种非常实用的软件,主要用于帮助程序员和数据库管理员整理和美化他们的SQL代码,使其更易于阅读和维护。在SQL Server等数据库管理系统中,编写和修改SQL脚本是日常工作中不可或缺的一部分,而...

    Json和Xml离线格式化工具

    "Json和Xml离线格式化工具"是针对这两种格式的解析和美化工具,可以在没有网络连接的情况下对JSON和XML数据进行格式化,使得数据更易于阅读和理解。 JSON格式化工具通常包含以下功能: 1. **代码高亮**:为键值对和...

    DBeaver sql格式化V1.4

    【DBeaver SQL格式化V1.4】是一款专门针对DBeaver数据库管理工具的SQL代码美化插件,主要用于帮助用户将杂乱无章的SQL语句自动格式化为清晰易读的结构,提高代码的可读性和维护性。这款插件的版本号为1.4,表明它...

    易语言格式化时间和日期

    "易语言格式化时间和日期" 涉及的知识点主要包括以下几个方面: 1. **易语言基础**:易语言是一种以中文作为编程语言的编程环境,旨在降低编程的门槛,使计算机用户能更直观地理解代码。它具有简洁明了的语句结构,...

    HPUSBFW HP U盘格式化 U盘修复 无法格式化

    标题中的“HPUSBFW”全称为“HP USB Disk Storage Format Tool”,是由惠普(HP)公司推出的一款专门针对U盘进行格式化和修复的工具。这个工具的主要功能是帮助用户解决U盘在Windows操作系统上遇到的格式化问题,...

    vb 源代码格式化工具,Visual Basic程序源代码格式化工具

    "VB 源代码格式化工具"和"Visual Basic程序源代码格式化工具"就是针对这类需求设计的软件工具,它们旨在帮助开发者整理和美化VB(Visual Basic)编写的源代码。 Visual Basic是一种由微软开发的面向对象的编程语言...

    阿里代码格式化idea插件

    阿里代码格式化idea插件是阿里巴巴为IntelliJ IDEA开发的一款强大的代码规范检查与格式化工具,旨在提升团队代码质量,保持代码风格的一致性。该插件名为Ali-CodeAnalysis,版本为1.141.0.2018032318,体现了阿里...

Global site tag (gtag.js) - Google Analytics