职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 954|回复: 9

grid里有一列固定

[复制链接]
找不到我 发表于 2011-7-31 09:32 | 显示全部楼层 |阅读模式
我想在grid中加一列操作的内容,比如说编辑 ,但是我又不想在data里每个加一列,有其它方式可以实现吗

  
    var sm = new Ext.grid.CheckboxSelectionModel();   
    var cm = new Ext.grid.ColumnModel([   
                                        sm,   
                                       {header:'优先级',dataIndex:'level'},   
                                       {header:'创建时间',dataIndex:'createTime'},   
                                       {header:'逾期时间',dataIndex:'timeOut'},   
                                           {header:'操作',dataIndex:'action'}   
                                  ]);   
                                  cm.defaultSortable = true;   
    var data = [   
                ['处理中','高','2010-10-08 12:11:11','2010-10-12 11:11:11'],   
                ['处理中','中','2010-10-08 12:11:11','2010-10-12 11:11:11']   
  
           ];   
    var ds = new Ext.data.Store({   
         proxy: new Ext.data.MemoryProxy(data),   
         reader: new Ext.data.ArrayReader({}, [   
             {name: 'level',mapping: 1},   
             {name: 'createTime',mapping: 2},   
             {name: 'timeOut',mapping: 3}   
         ])   
    });   
    ds.load();   
var grid = new Ext.grid.GridPanel({   
  
         ds: ds,   
         cm: cm,   
         sm:sm   
});  

        var sm = new Ext.grid.CheckboxSelectionModel();
        var cm = new Ext.grid.ColumnModel([
                                                       sm,
                                           {header:'优先级',dataIndex:'level'},
                                           {header:'创建时间',dataIndex:'createTime'},
                                           {header:'逾期时间',dataIndex:'timeOut'},
                                           {header:'操作',dataIndex:'action'}
                                      ]);
                                      cm.defaultSortable = true;
        var data = [
                    ['处理中','高','2010-10-08 12:11:11','2010-10-12 11:11:11'],
                    ['处理中','中','2010-10-08 12:11:11','2010-10-12 11:11:11']

               ];
        var ds = new Ext.data.Store({
             proxy: new Ext.data.MemoryProxy(data),
             reader: new Ext.data.ArrayReader({}, [
                 {name: 'level',mapping: 1},
                 {name: 'createTime',mapping: 2},
                 {name: 'timeOut',mapping: 3}
             ])
        });
        ds.load();
var grid = new Ext.grid.GridPanel({

             ds: ds,
             cm: cm,
             sm:sm
});



ksdal 发表于 2011-7-31 09:32 | 显示全部楼层
我之前尝试过在ds那里想办法,不知道是没有这接口还是我没找到- - 求真相

醉倚西风 发表于 2011-7-31 09:32 | 显示全部楼层
  
var cm = new Ext.grid.ColumnModel([sm, {   
            header : '优先级',   
            dataIndex : 'level'  
        }, {   
            header : '创建时间',   
            dataIndex : 'createTime'  
        }, {   
            header : '逾期时间',   
            dataIndex : 'timeOut'  
        }, {   
            header : '操作',   
            dataIndex : 'action',   
            renderer : showEdit   
        }]);   
cm.defaultSortable = true;   
  
function showEdit(value) {   
    return "<a href='edit.do'>编辑</a>&nbsp;&nbsp;<a href='delete.do'>删除</a>";   
};  

var cm = new Ext.grid.ColumnModel([sm, {
                        header : '优先级',
                        dataIndex : 'level'
                }, {
                        header : '创建时间',
                        dataIndex : 'createTime'
                }, {
                        header : '逾期时间',
                        dataIndex : 'timeOut'
                }, {
                        header : '操作',
                        dataIndex : 'action',
                        renderer : showEdit
                }]);
cm.defaultSortable = true;

function showEdit(value) {
        return "<a href='edit.do'>编辑</a>&nbsp;&nbsp;<a href='delete.do'>删除</a>";
};


思路是给操作这列加上自定义渲染renderer函数
自己写个函数showEdit(value)就搞定啦。参数value是操作这列的数据,明显我们并没有用到。有时候也会通过这个参数传递值的。



jinchang 发表于 2011-7-31 09:32 | 显示全部楼层
3.3有Ext.grid.ActionColumn
如果用以前的版本可以用Ext.ux.grid.RowActions,demo见http://rowactions.extjs.eu/


 楼主| 找不到我 发表于 2011-7-31 10:23 | 显示全部楼层
原来还有这么多内幕啊,长见识了,呵呵
走就走吧 发表于 2011-8-8 10:25 | 显示全部楼层
不错啊! 一个字牛啊!
broken 发表于 2011-8-11 14:39 | 显示全部楼层
我顶啊。接着顶
木已 发表于 2011-8-12 10:20 | 显示全部楼层
谁都不容易啊 ~~
shmilyyu 发表于 2011-8-16 10:10 | 显示全部楼层
这话从何说起那~~~
愚人 发表于 2011-8-16 10:11 | 显示全部楼层
晕。。。。怎么没早看到呢。。。。。。。。。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-17 13:04 , Processed in 0.122341 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表