ExtJs_GridWithPlugins

HTML设置:

    head--->

    <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />

     <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="../../ext-all.js"></script>
   
    <!-- JS文件的引用 -->
    <script type="text/javascript" src="../../examples/ux/RowExpander.js"></script>
    <script type="text/javascript" src="GridWithPlugins.js"></script>

    <style type="text/css">
        body .x-panel {
            margin-bottom:20px;
        }
        .icon-grid {
            background-image:url(../../examples/shared/icons/fam/grid.png) !important;
        }
        #button-grid .x-panel-body {
            border:1px solid #99bbe8;
            border-top:0 none;
        }
        .add {
            background-image:url(../../examples/shared/icons/fam/add.gif) !important;
        }
        .option {
            background-image:url(../../examples/shared/icons/fam/plugin.gif) !important;
        }
        .remove {
            background-image:url(../../examples/shared/icons/fam/delete.gif) !important;
        }
        .save {
            background-image:url(../../examples/shared/icons/save.gif) !important;
        }
    </style>


    JS--->

   

/**
 * 2011_04_15
 */
Ext.onReady(function() {

    Ext.QuickTips.init();
   
    var xg = Ext.grid;    //简称
   
    //ArrayReader
    var reader = new Ext.data.ArrayReader({},[
        {name: 'company'},
        {name: 'price', type: 'float'},
        {name: 'change', type: 'float'},
        {name: 'pctChange', type: 'float'},
        {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'},
        {name: 'industry'},
        {name: 'desc'}
    ]);
   
    //Grid1_rowExpander 行内容扩展
    var expander = new Ext.ux.grid.RowExpander({
        tpl: new Ext.Template(
            '<p><b>Company:</b> {company}</p><br>',
            '<p><b>Summany:</b> {desc}</p>'
        )   
    });
   
    //第一个grid:带有行内容扩展的。
    var grid1 = new xg.GridPanel({
        store: new Ext.data.Store({    //store配置参数
            reader: reader,
            data: xg.dummyData
        }),
        cm: new xg.ColumnModel({    //cm_ColumnModel模型的添加
            defaults: {
                width: 20,
                sortable: true
            },
            columns: [    //列
                expander,    //添加行内容扩展
                {id: 'company', header: 'Company', width: 40, dataIndex: 'company'},
                {header: 'Price', renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
                {header: 'Change', dataIndex: 'change'},
                {header: '% Change', dataIdnex: 'pctChange'},
                {header: 'Last Updated', renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
            ]
        }),
        viewConfig: {    //grid视图的配置
            forceFit: true
        },
        width: 600,
        //height: 300,    //说明:当设置autoHeight属性时,height就起不到作用
        autoHeight: true,
        plugins: expander,    //扩展组件
        collapsible: true,
        animCollapse: false,
        title: 'GridWithExpanderRows',
        iconCls: 'icon-grid',
        renderTo: document.body
    });
   
    //grid2_CheckboxSelectionModel
    var sm = new xg.CheckboxSelectionModel();
    var grid2 = new xg.GridPanel({
        store: new Ext.data.Store({
            reader: reader,
            data: xg.dummyData
        }),
        cm: new xg.ColumnModel({
            defaults: {
                width: 120,
                sortable: true
            },
            columns: [
                sm,
                {id: 'company', header: 'Company', width: 200, dataIndex: 'company'},
                {header: "Price", renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
                {header: 'Change', dataIndex: 'change'},
                {header: '% Change', dataIndex: 'pctChange'},
                {header: 'Last Updated', width: 135, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
            ]
        }),
        sm: sm,
        columnLines: true,    //true to add css for column separation lines. Default is false.
        width: 600,
        //height: 300,
        autoHeight: true,
        frame: true,
        title: 'GridWithCheckboxSelection',
        iconCls: 'icon-grid',
        renderTo: document.body
    });
   
    //grid3
    var grid3 = new xg.GridPanel({
        store: new Ext.data.Store({
            reader: reader,
            data: xg.dummyData
        }),
        cm: new xg.ColumnModel([
            new xg.RowNumberer(),
            {id: 'company', header: 'Company', width: 40, sortable: true, dataIndex: 'company'},
            {header: 'Price', width: 20, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
            {header: 'Change', width: 20, sortable: true, dataIndex: 'change'},
            {header: '% Change', width: 20, sortable: true,dataIndex: 'pctChange'},
            {header: 'Last Updated', width: 20, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
        ]),
        viewConfig: {
            forceFit: true
        },
        columnLines: true,    //为grid添加样式:方格
        width: 600,
        //height: 300,
        autoHeight: true,
        title: 'GridWithNumberedRows',
        iconCls: 'icon-grid',
        renderTo: document.body
    });//end of grid3
   
    //grid4
    var sm4 = new xg.CheckboxSelectionModel({
        listeners: {
            selectionchange: function(sm) {    //当行选择发送改变时触发
                if(sm.getCount()) {    //如果选择了行
                    grid4.removeButton.enable();    //显示removeButton
                } else {
                    grid4.removeButton.disable();
                }
            }
        }
    });
    var grid4 = new xg.GridPanel({
        id: 'button-grid',
        store: new Ext.data.Store({
            reader: reader,
            data: xg.dummyData
        }),
        cm: new xg.ColumnModel([
            sm4,
            {id: 'company', header: 'Company', width: 40, sortable: true, dataIndex: 'company'},
            {header: 'Price', width: 20, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
            {header: 'Change', width: 20, sortable: true, dataIndex: 'change'},
            {header: '% Change', width:20, sortable: true, dataIndex: 'pctChange'},
            {header: 'Last Updated', width: 20, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
        ]),
        sm: sm4,
        viewConfig: {
            forceFit: true
        },
        columnLines: true,
        buttons: [{text: 'Save'}, {text:'Cancel'}],
        buttonAlign: 'center',
        tbar: [{//顶部工具栏
            text: 'AddSomething',
            tooltip: 'Add a new row',    //提示信息
            iconCls: 'add',
            handler: function() {
                alert("这是添加按钮单击事件");
            }
        }, '-', {
            text: 'Options',
            tooltip: '选项',
            iconCls: 'option'
        }, '-', {
            text: 'Remove Something',
            tooltip: 'Remove the selected item',
            iconCls: 'remove',
            ref: '../../examples/removeButton',
            disabled: true    //开始时不可见
        }],
        width: 600,
        //height: 300,
        autoHeight: true,
        frame: true,
        title: 'Support for standard Panel features such as framing,buttons and toolbars',
        iconCls: 'icon-grid',
        renderTo: document.body
    });//end of grid4
});


//数据
Ext.grid.dummyData = [    //说明:至于描述列的数据,在后面添加。
    ['大唐人制造业1',99.98,0.11,0.23,'9/1 12:00am', '制造业'],
    ['大唐人制造业2',99.98,-0.11,-0.23,'9/1 12:00am', '制造业'],
    ['大唐人金融1',99.98,0.11,0.23,'9/1 12:00am', '金融'],
    ['大唐人金融2',99.98,-0.11,-0.23,'9/1 12:00am', '金融']
];

for(var i = 0;i < Ext.grid.dummyData.length; i++) {
    Ext.grid.dummyData[i].push(String.format("第{0}条描述信息!"))
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值