Ext.Grid之记录用户使用习惯—隐藏列

Ext.Grid的强大功能想必用过Ext的都体会到,可以隐藏列,可以拖放,可以排序等等,但是如果用户隐藏了某一些列后,下次登录时还是要看到上次隐藏后的列该怎么办呢?这就涉及到一个用户使用习惯的问题。想到记录用户习惯,当然首选使用Cookie。但是问题来了,在什么时候记录Cookie?什么事件触发后我们去写Cookie?其实最完美的当然就是在隐藏列这一事件(暂且叫它事件吧,具体的我也不太清楚Ext隐藏列的原理)触发时把剩下的列写入Cookie,但是小生才疏学浅,没有找到这个“隐藏列”事件,没法重写,只好另辟蹊径。反反复复试了Grid自带的方法比如:Close,BeforeClose,打算在用户关闭Grid的时候记录,但是没有效果,最后才找到beforedestroy这一事件,匪夷所思,关闭grid的时候不是触发beforeclose或者close,偏偏来个beforedestroy(英文就是摧毁,销毁),难道是Ext的人的命名习惯?不解。说到这里思路就清楚了,实现原理及步骤如下:
1、在用户关闭Grid时,触发BeforeDestroy事件,判断那些列是隐藏的,写入Cookie:
 grid.on("beforedestroy", CloseWriteCookie, grid);
 // 按用户习惯,隐藏某列
 if (boolHasClosedGrid == false)// 首次浏览
 {
  HiddenMyColumn(grid, varHiddenColumn);
  // alert(varHiddenColumn);
 }
 // 关闭grid但未关闭浏览器
 else {
  HiddenMyColumn(grid, varHiddenColumnColseGrid);
 }


 1//写入CooKie事件
 2
 3function CloseWriteCookie(obj) {
 4 var cms = obj.getColumnModel(); // 获得网格的列模型
 5 var strHiddenColoumnIndex = "";// 存储当前网格已经显示的列名(列名之间用 "," 分隔)
 6 // alert(cms.getColumnCount());
 7 for (var i = 0; i < cms.getColumnCount(); i++) {// 处理当前显示的列
 8
 9  if (cms.isHidden(i) && cms.getDataIndex(i) != "") {// 判断是否是隐藏列
10   strHiddenColoumnIndex += Ext.util.Format.trim(i) + ",";// 获得列序号数字从0开始
11  }
12 }
13 // 把隐藏列存到Cookie中的同时返回隐藏列的值。
14 Ext.Ajax.request({
15    timeout : 3000000,
16    url : '/ajax/SetUserColumnCookie.aspx',
17    params : "ParaCkUserColumn=Write&UserHiddenColumn="
18      + strHiddenColoumnIndex,
19    success : function(response, options) {
20     Ext.MessageBox.hide();
21     varHiddenColumnColseGrid = response.responseText// 把最新的隐藏列赋值给全局变量varHiddenColumnColseGrid
22     // alert(varHiddenColumnColseGrid);
23     boolHasClosedGrid = true;// 设置关闭grid但未关闭浏览器为真
24    },
25    failure : function(response, options) {
26     Ext.Msg.alert('错误', Ext.util.JSON
27         .decode(response.responseText).data.msg);
28
29    }
30   }
31
32 )
33}
34
35

2、用户再次打开这个页面时先用Ajax读Cookie中的隐藏列,然后调用HiddenColumn函数,执行隐藏列。
Ext.Ajax.request({
   timeout : 3000000,
   url : '/ajax/SetUserColumnCookie.aspx',
   params : "ParaCkUserColumn=Read",
   success : function(response, options) {
    Ext.MessageBox.hide();
    varHiddenColumn = response.responseText
    // alert(varHiddenColumn);
   },
   failure : function(response, options) {
    Ext.Msg.alert('错误',
      Ext.util.JSON.decode(response.responseText).data.msg);

   }
  })

 1 // 隐藏列函数
 2 function HiddenMyColumn(vargrid, varColumnIndex) {
 3 
 4     if (varColumnIndex != "") {
 5         var cms = vargrid.getColumnModel(); // 获得网格的列模型
 6         var strarrayUserColumn = new Array();
 7         strarrayUserColumn = varColumnIndex.split(",");
 8         for (var i = 0; i < strarrayUserColumn.length; i++) {
 9             cms.setHidden(strarrayUserColumn[i], true);// 隐藏列模型
10         }
11     }
12 }


欢迎各位批评指正。如果有更好的实现方法,请您不吝赐教。

附上完整的JS文件吧,后台aspx,cs文件就不贴了,有需要联系我
TotalJS.js
var ds;
var varHiddenColumn = "";
var boolHasClosedGrid = false;
Ext.Ajax.request({
            timeout : 3000000,
            url : '/ajax/SetUserColumnCookie.aspx',
            params : "ParaCkUserColumn=Read",
            success : function(response, options) {
                Ext.MessageBox.hide();
                varHiddenColumn = response.responseText
                // alert(varHiddenColumn);
            },
            failure : function(response, options) {
                Ext.Msg.alert('错误',
                        Ext.util.JSON.decode(response.responseText).data.msg);

            }
        })
function QueryWebTraceByAll() {
    var varDefaultState = "";
    Ext.BLANK_IMAGE_URL = 'extjs/resources/images/default/s.gif';
    Ext.QuickTips.init();
    // var fm = Ext.form;
    var sm = new Ext.grid.CheckboxSelectionModel();
    var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {
                header : '编号',
                width : 40,
                dataIndex : 'Id',
                sortable : true
            }, {
                header : '域名',
                width : 100,
                dataIndex : 'HostName',
                renderer : change,
                sortable : true

            }, {
                header : '流量',
                width : 50,
                dataIndex : 'PageView',
                sortable : true
            }, {
                header : '测试域名',
                width : 100,
                dataIndex : 'TestHostName',
                renderer : change,
                sortable : true
            }, {
                header : '服务器IP',
                width : 140,
                dataIndex : 'WebSpace',
                sortable : true
            }, {
                header : '空间用户名',
                width : 100,
                dataIndex : 'WebSpaceUserName',
                sortable : true
            }, {
                header : '空间名',
                width : 100,
                dataIndex : 'WebSpaceNumber',
                sortable : true
            }, {
                header : "Ftp密码",
                width : 100,
                dataIndex : 'FtpPwd',
                sortable : true
            },
            {
                header : '备案号',
                width : 140,
                dataIndex : 'BeiAn',
                sortable : true
            },// renderer:renderFoo,

            {
                header : '域名服务商',
                width : 140,
                dataIndex : 'HostNameSP',
                sortable : true
            },// renderer:renderFoo,

            {
                header : '域名注册时间',
                width : 140,
                dataIndex : 'HostNameRegDate',
                sortable : true
            },// renderer:renderFoo,

            {
                header : '域名到期时间',
                width : 140,
                dataIndex : 'HostNameExpireDate',
                sortable : true
            },// renderer:renderFoo,

            {
                header : '类型',
                width : 50,
                dataIndex : 'WebType',
                sortable : true
            }, {
                header : '主关键字',
                width : 100,
                dataIndex : 'KeyWords',
                sortable : true
            }, {
                header : '副关键词',
                width : 100,
                dataIndex : 'SubKeyWords',
                sortable : true
            }, {
                header : '状态',
                width : 100,
                dataIndex : 'State',
                sortable : true
            }, {
                header : '分配人',
                width : 100,
                dataIndex : 'Assumer',
                sortable : true
            }, {
                header : '制作人',
                width : 40,
                dataIndex : 'Producer',
                sortable : true
            }, {
                header : '模板',
                width : 56,
                dataIndex : 'Template',
                sortable : true
            }, {
                header : '负责人',
                width : 40,
                dataIndex : 'Maintainer',
                sortable : true
            }, {
                header : '组长',
                width : 40,
                dataIndex : 'TeamLeader',
                sortable : true
            }, {
                header : '维护人51la',
                width : 65,
                dataIndex : 'MaintainerStatisId',
                sortable : true
            }, {
                header : '网站51la',
                width : 51,
                dataIndex : 'StatisId',
                sortable : true
            }, {
                header : '密码',
                width : 45,
                dataIndex : 'MaintainerFivelaPwd',
                sortable : true
            }, {
                header : '收录',
                width : 30,
                dataIndex : 'Baidu',
                sortable : true
            }, {
                header : '分配时间',
                width : 100,
                dataIndex : 'ToTeamLeaderDate',
                sortable : true
            }, {
                header : '制作时间',
                width : 100,
                dataIndex : 'StartDoDate',
                sortable : true
            }, {
                header : '完成时间',
                width : 100,
                dataIndex : 'EndDoDate',
                sortable : true
            }, {
                header : '审核时间',
                width : 100,
                dataIndex : 'CheckDate',
                sortable : true
            }, {
                header : '组员评分',
                width : 100,
                dataIndex : 'Score',
                sortable : true
            }, {
                header : '分配人评分',
                width : 100,
                dataIndex : 'AssumerScore',
                sortable : true
            }, {
                header : '综合评分',
                width : 100,
                dataIndex : 'TotalScore',
                sortable : true
            }]);

    // proxy直接去读取josn数据【
    ds = new Ext.data.Store({
                proxy : new Ext.data.HttpProxy({
                            url : 'WebTask/WebsiteGeneral/ShowWebSiteAsZWToLeader.aspx'
                        }),
                reader : new Ext.data.JsonReader({
                            totalProperty : 'totalProperty',
                            root : 'Head',
                            successProperty : 'success'
                        }, [{
                                    name : 'Id',
                                    mapping : 'Id',
                                    type : 'int'
                                }, {
                                    name : 'HostName',
                                    mapping : 'HostName',
                                    type : 'string'
                                }, {
                                    name : 'TestHostName',
                                    mapping : 'TestHostName',
                                    type : 'string'
                                }, {
                                    name : "FtpPwd",
                                    mapping : "FtpPwd",
                                    type : "string"
                                }, {
                                    name : 'WebSpaceNumber',
                                    mapping : 'WebSpaceNumber',
                                    type : 'string'
                                }, {
                                    name : 'WebSpaceUserName',
                                    mapping : 'WebSpaceUserName',
                                    type : 'string'
                                }, {
                                    name : 'BeiAn',
                                    mapping : 'BeiAn',
                                    type : 'string'
                                }, {
                                    name : 'State',
                                    mapping : 'State',
                                    type : 'string'
                                }, {
                                    name : 'WebSpace',
                                    mapping : 'WebSpace',
                                    type : 'string'
                                }, {
                                    name : 'Assumer',
                                    mapping : 'Assumer',
                                    type : 'string'
                                }, {
                                    name : 'HostNameSP',
                                    mapping : 'HostNameSP',
                                    type : 'string'
                                }, {
                                    name : 'HostNameRegDate',
                                    mapping : 'HostNameRegDate',
                                    type : 'string'
                                }, {
                                    name : 'HostNameExpireDate',
                                    mapping : 'HostNameExpireDate',
                                    type : 'string'
                                }, {
                                    name : 'MaintainerStatisId',
                                    mapping : 'MaintainerStatisId',
                                    type : 'string'
                                }, {
                                    name : 'StatisId',
                                    mapping : 'StatisId',
                                    type : 'string'
                                }, {
                                    name : 'MaintainerFivelaPwd',
                                    mapping : 'MaintainerFivelaPwd',
                                    type : 'string'
                                }, {
                                    name : 'Baidu',
                                    mapping : 'Baidu',
                                    type : 'string'
                                }, {
                                    name : 'PageView',
                                    mapping : 'PageView',
                                    type : 'string'
                                }, {
                                    name : 'WebType',
                                    mapping : 'WebType',
                                    type : 'string'
                                }, {
                                    name : 'KeyWords',
                                    mapping : 'KeyWords',
                                    type : 'string'
                                }, {
                                    name : 'SubKeyWords',
                                    mapping : 'SubKeyWords',
                                    type : 'string'
                                }, {
                                    name : 'StartTaskDate',
                                    mapping : 'StartTaskDate',
                                    type : 'string'
                                }, {
                                    name : 'CheckDate',
                                    mapping : 'CheckDate',
                                    type : 'string'
                                }, {
                                    name : 'StartDoDate',
                                    mapping : 'StartDoDate',
                                    type : 'string'
                                }, {
                                    name : 'EndDoDate',
                                    mapping : 'EndDoDate',
                                    type : 'string'
                                }, {
                                    name : 'TeamLeader',
                                    mapping : 'TeamLeader',
                                    type : 'string'
                                }, {
                                    name : 'Maintainer',
                                    mapping : 'Maintainer',
                                    type : 'string'
                                }, {
                                    name : 'Producer',
                                    mapping : 'Producer',
                                    type : 'string'
                                }, {
                                    name : 'Template',
                                    mapping : 'Template',
                                    type : 'string'
                                }, {
                                    name : 'ToTeamLeaderDate',
                                    mapping : 'ToTeamLeaderDate',
                                    type : 'string'
                                }, {
                                    name : 'ToTeamDate',
                                    mapping : 'ToTeamDate',
                                    type : 'string'
                                }, {
                                    name : 'Score',
                                    mapping : 'Score',
                                    type : 'string'
                                }, {
                                    name : 'AssumerScore',
                                    mapping : 'AssumerScore',
                                    type : 'string'
                                }, {
                                    name : 'TotalScore',
                                    mapping : 'TotalScore',
                                    type : 'string'
                                }]),
                remoteSort : true
            });

    var store = new Ext.data.Store({
        proxy : new Ext.data.HttpProxy({
                    url : "WebTask/WebsiteGeneral/GetEmployeeAsGroup.aspx?type=z"
                }), // 数据源
        reader : new Ext.data.JsonReader({
                    totalProperty : "totalPorperty",
                    root : "Head",
                    successProperty : 'success',
                    fields : [{
                                name : 'id',
                                mapping : 'id',
                                type : 'string'
                            }, {
                                name : 'username',
                                mapping : 'username',
                                type : 'string'
                            }]
                })
            // 如何解析
    });

    store.load();

    var storeddl = new Ext.data.Store({
        proxy : new Ext.data.HttpProxy({
                    url : "WebTask/WebsiteGeneral/GetParaList.aspx?MenuId=0010"
                }), // 下拉框数据源
        reader : new Ext.data.JsonReader({
                    totalProperty : "totalPorperty",
                    root : "Head",
                    successProperty : 'success',
                    fields : [{
                                name : 'ParaName',
                                mapping : 'ParaName',
                                type : 'string'
                            }, {
                                name : 'ParaValue',
                                mapping : 'ParaValue',
                                type : 'string'
                            }]
                })
            // 如何解析
        });
    // 状态数据集,非数据库
    var DdlState = new Ext.data.SimpleStore({
                fields : ['ParaName', 'ParaValue'],
                data : [['所有', ''], ['准备制作', '准备制作'], ['正在制作中', '正在制作中'],
                        ['已制作完成', '已制作完成'], ['已审核', '已审核'],
                        ['已分配给组长', '已分配给组长'], ['已分配给组员', '已分配给组员']]
            });
    storeddl.load();

    // 网站制作状态静态数据
    var liebie = new Ext.form.ComboBox({
                id : 'dropdownliststate',
                emptyText : '请选择网站制作状态',
                mode : 'local', // 数据模式,local为本地模式
                readOnly : true,
                hidden : true,
                displayField : 'ParaName',
                valueField : 'ParaValue',
                triggerAction : 'all',
                name : 'identity', // 作为form提交时传送的参数
                store : DdlState,
                listeners : {
                    select : {
                        fn : function(combo, record, index) {
                            // 先清理数据
                            ds.removeAll();
                            ds.baseParams = {
                                paraname : grid.topToolbar.items.items[0].value,
                                paravalue : record.get('ParaValue')
                            };

                            ds.load({
                                        callback : function(r, options, success) {
                                            if (success == false) {
                                                // 如果没有数据就清空
                                                ds.removeAll();
                                                Ext.MessageBox.alert('提示',
                                                        'Sorry,没有符合条件的数据');
                                            }
                                        }
                                    });
                            ds.reload({
                                        params : {
                                            start : 0,
                                            limit : 20
                                        }
                                    });
                        }
                    }
                }
            });

    var grid = new Ext.grid.EditorGridPanel({
        renderTo : 'grid3',
        ds : ds,
        sm : sm,
        stripeRows : true,

        cm : cm,
        width : 700,
        height : 280,

        loadMask : true,
        tbar : new Ext.Toolbar({
            items : [new Ext.form.ComboBox({
                        id : 'ComSearch',
                        emptyText : '请选择搜索项目',
                        mode : 'remote', // 数据模式,local为本地模式
                        readOnly : true,
                        displayField : 'ParaName',
                        valueField : 'ParaValue',

                        triggerAction : 'all',
                        name : 'identity', // 作为form提交时传送的参数
                        store : storeddl,
                        listeners : {
                            select : {
                                fn : function(combo, record, index) {
                                    if (record.get('ParaValue') == 'State') {
                                        liebie.show();
                                        Ext.get('txtsearchword')
                                                .setDisplayed('none');
                                        Ext.get('btnSearch')
                                                .setDisplayed('none');
                                    } else {
                                        liebie.hide();
                                        Ext.get('txtsearchword')
                                                .setDisplayed('block');
                                        Ext.get('btnSearch')
                                                .setDisplayed('block');
                                    }
                                }
                            }
                        }

                    }),

                    // 网站状态静态数据
                    liebie, new Ext.form.TextField({
                        id : 'txtsearchword',
                        fieldLabel : '搜索文字',
                        width : 150,
                        name : 'SearchWord',
                        allowBlank : false,
                        blankText : '请输入搜索文字',
                        listeners : {
                            specialKey : function(field, e) {
                                if (e.getKey() == Ext.EventObject.ENTER) {
                                    ds.removeAll();
                                    ds.baseParams = {
                                        paraname : grid.topToolbar.items.items[0].value,
                                        paravalue : Ext.get('txtsearchword').dom.value
                                    };

                                    ds.load({
                                        callback : function(r, options, success) {
                                            if (success == false) {
                                                Ext.MessageBox.alert('提示',
                                                        'Sorry,没有符合条件的数据');
                                            }
                                        }
                                    });
                                    ds.reload({
                                                params : {
                                                    start : 0,
                                                    limit : 20
                                                }
                                            });
                                }
                            }
                        }
                    }),

                    {
                        id : 'btnSearch',
                        text : '搜索',
                        iconCls : 'search',
                        handler : function() {

                            ds.removeAll();

                            ds.baseParams = {
                                paraname : grid.topToolbar.items.items[0].value,
                                paravalue : Ext.get('txtsearchword').dom.value
                            };

                            ds.load({
                                        callback : function(r, options, success) {
                                            if (success == false) {
                                                // 如果为空就清空原来数据

                                                Ext.MessageBox.alert('提示',
                                                        'Sorry,没有符合条件的数据');
                                            }
                                        }
                                    });
                            ds.reload({
                                        params : {
                                            start : 0,
                                            limit : 20
                                        }
                                    });
                        }
                    }]
        }),

        bbar : new Ext.PagingToolbar({
            pageSize : 20,
            store : ds,
            displayInfo : true,
            displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
            emptyMsg : "没有记录",
            items : [{
                text : '导出Excel',
                iconCls : 'add',
                tooltip : "点击导出Excel文件",
                handler : function() {
                    // 导出Excel文件
                    var cms = grid.getColumnModel(); // 获得网格的列模型
                    var strColoumnNames = "";// 存储当前网格已经显示的列名(列名之间用 "," 分隔)
                    var strColoumnNamesHeader = "";
                    var strAllSql = "";
                    for (var i = 0; i < cms.getColumnCount(); i++) {// 处理当前显示的列
                        if (!cms.isHidden(i) && cms.getDataIndex(i) != "") {// 判断是否是隐藏列及是否列名为空(因为如果有选择框和默认序号,则为空)
                            strColoumnNames = Ext.util.Format.trim(cms
                                    .getDataIndex(i));// 获得列名
                            // 判断是否是综合评分这列,如果是要把列名换成原始的
                            strColoumnNamesHeader = escape(Ext.util.Format
                                    .trim(cms.getColumnHeader(i)));// 获得列标题
                            strAllSql += strColoumnNames + " as "
                                    + strColoumnNamesHeader + ",";// 拼接Sql查询语句,格式
                            // 字段 as
                            // 中文标题
                        }
                    }
                    // self表示在本窗口打开
                    var varparaname = grid.topToolbar.items.items[0].value;
                    var varparavalue = Ext.util.Format.trim(Ext
                            .get('txtsearchword').dom.value);
                    var varparanametext = Ext.get('ComSearch').dom.value
                    var gridtoexcelwindow;
                    if (typeof(varparaname) == "undefined") {
                        varparaname = "State";
                        varparavalue = varDefaultState;
                        varparanametext = "默认首要业务数据";
                    }
                    gridtoexcelwindow = window
                            .open(    "Ajax/GridToExcel.aspx?sql=" + strAllSql
                                            + "&FromTable=WebTrace&ParaName="
                                            + escape(varparaname)
                                            + "&ParaNameText="
                                            + escape(varparanametext)
                                            + "&ParaValue="
                                            + escape(varparavalue), "_self",
                                    "menubar=0,scrollbar=0,resizable=0,channelmode=0,location=0,status=0");
                    gridtoexcelwindow.focus();
                }
            }]
        })
    });
    // el:指定html元素用于显示grid
    grid.render();// 渲染表格
    // 

    ds.baseParams = {
        paraname : 'State',
        paravalue : varDefaultState
    };
    ds.load({
                callback : function(r, options, success) {
                    if (success == false) {
                        ds.removeAll();
                        Ext.MessageBox.alert('提示', 'Sorry,没有符合条件的数据');
                    }
                }
            });
    ds.reload({
                params : {
                    start : 0,
                    limit : 20
                }
            });
    var win = new Ext.Window({
        layout : 'fit',
        maximizable : true,
        collapsible : true,
        width : 1000,
        height : 600,
        modal : true,
        title : "公共查询界面:在这里您可以查询您需要的网站并可以导出所需数据<br/><font color='#FF0000'><b>小提示:<br/>1、您可以点击任一列名右侧出现的箭头,在出现的下拉框中,隐藏某些您不需要的列。您再次进入此页面时将保持您上次保留的列。<br/>2、搜索支持回车键。<br/>3、在窗体底部有'导出Excel'按钮,你可以导出您需要的数据</b></font>",
        items : grid
    });
    win.show();
    grid.on("afteredit", afterEdit1, grid);
    grid.on("beforedestroy", CloseWriteCookie, grid);

    // 按用户习惯,隐藏某列
    if (boolHasClosedGrid == false)// 首次浏览
    {
        HiddenMyColumn(grid, varHiddenColumn);
        // alert(varHiddenColumn);
    }
    // 关闭grid但未关闭浏览器
    else {
        HiddenMyColumn(grid, varHiddenColumnColseGrid);
    }
}
// 隐藏列函数
function HiddenMyColumn(vargrid, varColumnIndex) {

    if (varColumnIndex != "") {
        var cms = vargrid.getColumnModel(); // 获得网格的列模型
        var strarrayUserColumn = new Array();
        strarrayUserColumn = varColumnIndex.split(",");
        for (var i = 0; i < strarrayUserColumn.length; i++) {
            cms.setHidden(strarrayUserColumn[i], true);// 隐藏列模型
        }
    }
}
// 关闭时写cookie
function CloseWriteCookie(obj) {
    var cms = obj.getColumnModel(); // 获得网格的列模型
    var strHiddenColoumnIndex = "";// 存储当前网格已经显示的列名(列名之间用 "," 分隔)
    // alert(cms.getColumnCount());
    for (var i = 0; i < cms.getColumnCount(); i++) {// 处理当前显示的列

        if (cms.isHidden(i) && cms.getDataIndex(i) != "") {// 判断是否是隐藏列
            strHiddenColoumnIndex += Ext.util.Format.trim(i) + ",";// 获得列序号数字从0开始
        }
    }
    // 把隐藏列存到Cookie中的同时返回隐藏列的值。
    Ext.Ajax.request({
                timeout : 3000000,
                url : '/ajax/SetUserColumnCookie.aspx',
                params : "ParaCkUserColumn=Write&UserHiddenColumn="
                        + strHiddenColoumnIndex,
                success : function(response, options) {
                    Ext.MessageBox.hide();
                    varHiddenColumnColseGrid = response.responseText// 把最新的隐藏列赋值给全局变量varHiddenColumnColseGrid
                    // alert(varHiddenColumnColseGrid);
                    boolHasClosedGrid = true;// 设置关闭grid但未关闭浏览器为真
                },
                failure : function(response, options) {
                    Ext.Msg.alert('错误', Ext.util.JSON
                                    .decode(response.responseText).data.msg);

                }
            }

    )
}
// 编辑时的检验是否合法,不合法不更新
function afterEdit1(obj) {
    var r = obj.record;// 获取被修改的行
    var l = obj.field;// 获取被修改的列
    var o = obj.originalValue;
    var id = r.get("Id");
    var lie = r.get(l);
    Ext.Ajax.request({
                url : '/Ajax/WebsiteOper.aspx?type=3',
                params : "id=" + id + "&name=" + l + '&value=' + lie
            });
    var cursor = this.getBottomToolbar().cursor;
    ds.load({
                params : {
                    start : cursor,
                    limit : this.getBottomToolbar().pageSize
                }
            });

}

function DEL(Obj) {
    var cursor = Obj.getBottomToolbar().cursor;
    ds.load({
                params : {
                    start : cursor,
                    limit : Obj.getBottomToolbar().pageSize
                }
            });
}

你可能感兴趣的:(cms,json,Ajax,ext,Excel)