zoukankan      html  css  js  c++  java
  • 表格列Column

      Ext.grid.column.Column类定义了表格内部与列相关的配置,其中包括列标题及数据展示。

      Ext.grid.column.Column主要配置项

    配置项类型说明
    align String 设置列标题和数据的对齐方式,默认为left
    columns Array 设置组列
    dataIndex String 设置列与数据集中数据的对应关系,值为数据模型中的字段名称
    draggable Boolean 列头是否可以拖动,默认为true
    flex Number 列宽所占flex和的比例
    groupable Boolean 在使用Ext.grid.feature.Grouping分组特性的情况下是否禁用该列在标题菜单中的分组功能
    header String 列标题
    hideable Boolean false则阻止用户隐藏该列,默认为true
    menuDisabled Boolean true则禁用标题菜单,默认为false
    render Function 自定义渲染函数
    sortable Boolean 是否允许进行排序,默认为true,将根据Ext.data.Store.remoteSort判断进行本地排序还是远程排序。
    text String 列标题,header配置项优先
    width Number 列宽

      Ext.grid.column.Column子类:

    • Ext.grid.column.Boolean   布尔列
    • Ext.grid.column.Number   数字列
    • Ext.grid.column.Date        日期列
    • Ext.grid.column.Action     动作列
    • Ext.grid.column.Template  模板列
    • Ext.grid.RowNumber        行号列
    • Ext.tree.Column              树结构列

      1、布尔列Ext.grid.column.Boolean配置项

    配置项类型说明
    falseText String 渲染false值对应的文本,默认为false
    trueText String 渲染true值对应的文本,默认为true
    undefinedText String 渲染空值对应的文本,默认为空字符串

      2、数字列Ext.grid.column.Number配置项

    配置项类型说明
    format String 设置Ext.util.Format.number函数的格式化字符串,默认为0,000.00

      3、日期列Ext.grid.column.Date

      3.1、Ext.grid.column.Date主要配置项

    配置项类型说明
    format String 设置Date.format函数的格式化字符串,默认为Ext.Date.defaultFormat

      3.2、Ext.grid.column.Date示例

      代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Ext.grid.column.Column示例</title>
        <link href="ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
        <script src="ext-4.0.7-gpl/bootstrap.js" type="text/javascript"></script>
        <script type="text/javascript">
            Ext.onReady(function () {
                Ext.define("Employee", {
                    extend: "Ext.data.Model",
                    fields: [
                        { name: "Name" },
                        { name: "Sex" },
                        { name: "InOffice" },
                        { name: "Birthday" },
                        { name: "Age" },
                        { name: "Salary" }
                    ]
                });
                var employee = [
                    { "Name": "王晓敏", "Sex": "male", "InOffice": true, "Birthday": new Date(1980, 3, 29), "Age": 32, "Salary": 15600000 },
                    { "Name": "夏慧", "Sex": "female", "InOffice": true, "Birthday": new Date(1987, 7, 6), "Age": 25, "Salary": 2300 },
                    { "Name": "陈佳佳", "Sex": "female", "InOffice": false, "Birthday": new Date(1983, 10, 13), "Age": 29, "Salary": 5000 },
                ];
                var store = Ext.create("Ext.data.Store", {
                    model: "Employee",
                    data: employee,
                    autoLoad: true
                });
    
                Ext.create("Ext.grid.Panel", {
                    title: "Ext.grid.column.Column示例",
                    frame: true,
                     500,
                    height: 300,
                    renderTo: Ext.getBody(),
                    store: store,
                    columns: [
                        { header: "姓名",  100, dataIndex: "Name" },
                        { header: "性别",  60, dataIndex: "Sex" },
                        { header: "在职状态",  60, dataIndex: "InOffice", xtype: "booleancolumn", trueText: "在职", falseText: "离职" },
                        { header: "生日",  100, dataIndex: "Birthday", xtype: "datecolumn", format: "Y年m月d日" },
                        { header: "年龄",  60, dataIndex: "Age" },
                        { header: "薪资",  80, dataIndex: "Salary", xtype: "numbercolumn", format: "0,000" }
                    ]
                });
            });
        </script>
    </head>
    <body>
    </body>
    </html>

      效果图:

      4、动作列Ext.grid.column.Action

      4.1、Ext.grid.column.Action主要配置项

    配置项类型说明
    altText String 应用于图片元素上的alt属性,默认为空字符串
    getClass Function 返回图片样式函数
    handler Function

    设置图标点击事件的响应函数,该函数将被传入如下参数:

    view:TableView,表格视图

    rowIndex:Number,当前行的索引

    colIndex:Number,当前列的索引

    item:Object,条目

    e:Event,点击事件对象

    icon String 获取图标资源的URL地址,默认为Ext.BLANK_IMAGE_URL
    iconCls String 图标样式
    items Array 包含多个图标定义的数组
    scope Object 设置handler和getClass函数的作用域,默认为Column
    stopSelection Boolean 默认为true阻止当动作发生时,当前行被选中
    tooltip String 设置工具提示消息。需要初始化Ext.tip.QuickTipManager

      4.2、Ext.grid.column.Action示例

      代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Ext.grid.column.Column示例</title>
        <link href="ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
        <script src="ext-4.0.7-gpl/bootstrap.js" type="text/javascript"></script>
        <script type="text/javascript">
            Ext.onReady(function () {
                Ext.define("Employee", {
                    extend: "Ext.data.Model",
                    fields: [
                        { name: "Name" },
                        { name: "Sex" },
                        { name: "InOffice" },
                        { name: "Birthday" },
                        { name: "Age" },
                        { name: "Salary" }
                    ]
                });
                var employee = [
                    { "Name": "王晓敏", "Sex": "male", "InOffice": true, "Birthday": new Date(1980, 3, 29), "Age": 32, "Salary": 15600000 },
                    { "Name": "夏慧", "Sex": "female", "InOffice": true, "Birthday": new Date(1987, 7, 6), "Age": 25, "Salary": 2300 },
                    { "Name": "陈佳佳", "Sex": "female", "InOffice": false, "Birthday": new Date(1983, 10, 13), "Age": 29, "Salary": 5000 },
                ];
                var store = Ext.create("Ext.data.Store", {
                    model: "Employee",
                    data: employee,
                    autoLoad: true
                });
    
                Ext.create("Ext.grid.Panel", {
                    title: "Ext.grid.column.Column示例",
                    frame: true,
                     550,
                    height: 300,
                    renderTo: Ext.getBody(),
                    store: store,
                    columns: [
                        { header: "姓名",  100, dataIndex: "Name" },
                        { header: "性别",  60, dataIndex: "Sex" },
                        { header: "在职状态",  60, dataIndex: "InOffice", xtype: "booleancolumn", trueText: "在职", falseText: "离职" },
                        { header: "生日",  100, dataIndex: "Birthday", xtype: "datecolumn", format: "Y年m月d日" },
                        { header: "年龄",  60, dataIndex: "Age" },
                        { header: "薪资",  80, dataIndex: "Salary", xtype: "numbercolumn", format: "0,000" },
                        {
                            header: "操作",
                            50,
                            xtype: "actioncolumn",
                            items: [{
                                icon: "images/edit.png",
                                handler: function (grid, rowIndex, colIndex) {
                                    var rec = grid.getStore().getAt(rowIndex);
                                    Ext.MessageBox.alert("编辑" + rec.get("Name"));
                                }
                            }, {
                                icon: "images/delete.png",
                                handler: function (grid, rowIndex, colIndex) {
                                    var rec = grid.getStore().getAt(rowIndex);
                                    Ext.MessageBox.alert("删除" + rec.get("Name"));
                                }
                            }]
                        }
                    ]
                });
            });
        </script>
    </head>
    <body>
    </body>
    </html>

      效果图:

      5、模板列Ext.grid.column.Template

    配置项类型说明
    tpl String/XTemplate 设置一个XTemplate模板对象或模板定义,模板数据将被传入其中

      示例:

    {
        header:"描述",
        100,
        xtype:"templatecolumn",
        tpl:"{Name}<tpl if="leader==false"></tpl>是组长"
    }

      6、行号列Ext.grid.RowNumberer

      6.1、Ext.grid.RowNumberer主要配置项

    配置项类型说明
    text String 显示在列表标题中的文本或HTML代码段
    width Number 行号列的宽度,默认为23px

      6.2、Ext.grid.RowNumberer示例

    Ext.create("Ext.grid.RowNumberer", { text: "序号",  30 })
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Ext.grid.column.Column示例</title>
        <link href="ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
        <script src="ext-4.0.7-gpl/bootstrap.js" type="text/javascript"></script>
        <script type="text/javascript">
            Ext.onReady(function () {
                Ext.define("Employee", {
                    extend: "Ext.data.Model",
                    fields: [
                        { name: "Name" },
                        { name: "Sex" },
                        { name: "InOffice" },
                        { name: "Birthday" },
                        { name: "Age" },
                        { name: "Salary" }
                    ]
                });
                var employee = [
                    { "Name": "王晓敏", "Sex": "male", "InOffice": true, "Birthday": new Date(1980, 3, 29), "Age": 32, "Salary": 15600000 },
                    { "Name": "夏慧", "Sex": "female", "InOffice": true, "Birthday": new Date(1987, 7, 6), "Age": 25, "Salary": 2300 },
                    { "Name": "陈佳佳", "Sex": "female", "InOffice": false, "Birthday": new Date(1983, 10, 13), "Age": 29, "Salary": 5000 },
                ];
                var store = Ext.create("Ext.data.Store", {
                    model: "Employee",
                    data: employee,
                    autoLoad: true
                });
    
                Ext.create("Ext.grid.Panel", {
                    title: "Ext.grid.column.Column示例",
                    frame: true,
                     550,
                    height: 300,
                    renderTo: Ext.getBody(),
                    store: store,
                    columns: [
                        Ext.create("Ext.grid.RowNumberer", { text: "序号",  30 }),
                        { header: "姓名",  100, dataIndex: "Name" },
                        { header: "性别",  60, dataIndex: "Sex" },
                        { header: "在职状态",  60, dataIndex: "InOffice", xtype: "booleancolumn", trueText: "在职", falseText: "离职" },
                        { header: "生日",  100, dataIndex: "Birthday", xtype: "datecolumn", format: "Y年m月d日" },
                        { header: "年龄",  60, dataIndex: "Age" },
                        { header: "薪资",  80, dataIndex: "Salary", xtype: "numbercolumn", format: "0,000" },
                        {
                            header: "操作",
                             50,
                            xtype: "actioncolumn",
                            items: [{
                                icon: "images/edit.png",
                                handler: function (grid, rowIndex, colIndex) {
                                    var rec = grid.getStore().getAt(rowIndex);
                                    Ext.MessageBox.alert("编辑" + rec.get("Name"));
                                }
                            }, {
                                icon: "images/delete.png",
                                handler: function (grid, rowIndex, colIndex) {
                                    var rec = grid.getStore().getAt(rowIndex);
                                    Ext.MessageBox.alert("删除" + rec.get("Name"));
                                }
                            }]
                        }
                    ]
                });
            });
        </script>
    </head>
    <body>
    </body>
    </html>

      效果图:

  • 相关阅读:
    Linux 磁盘管理
    03.线程的通知notify与等待wait
    02.线程的等待与中断
    01.线程的三种创建方式与运行
    java--ArrayList,LinkedList应用比较
    java--字符串拼接比较
    java--CharAt,StartWith
    java--split,index,StringTokenizer比较
    java--substring内存溢出问题
    java--String intern
  • 原文地址:https://www.cnblogs.com/libingql/p/2476067.html
Copyright © 2011-2022 走看看