亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cellselectionmodel.js

?? ext js demo ext學習資料
?? JS
字號:
/*
 * Ext JS Library 1.1 RC 1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://www.extjs.com/license
 */

/** * @class Ext.grid.CellSelectionModel * @extends Ext.grid.AbstractSelectionModel * This class provides the basic implementation for cell selection in a grid. * @constructor * @param {Object} config The object containing the configuration of this model. */Ext.grid.CellSelectionModel = function(config){    Ext.apply(this, config);    this.selection = null;    this.addEvents({        /**	     * @event beforerowselect	     * Fires before a cell is selected.	     * @param {SelectionModel} this	     * @param {Number} rowIndex The selected row index	     * @param {Number} colIndex The selected cell index	     */	    "beforecellselect" : true,        /**	     * @event cellselect	     * Fires when a cell is selected.	     * @param {SelectionModel} this	     * @param {Number} rowIndex The selected row index	     * @param {Number} colIndex The selected cell index	     */	    "cellselect" : true,        /**	     * @event selectionchange	     * Fires when the active selection changes.	     * @param {SelectionModel} this	     * @param {Object} selection null for no selection or an object (o) with two properties	        <ul>	        <li>o.record: the record object for the row the selection is in</li>	        <li>o.cell: An array of [rowIndex, columnIndex]</li>	        </ul>	     */	    "selectionchange" : true    });};Ext.extend(Ext.grid.CellSelectionModel, Ext.grid.AbstractSelectionModel,  {    /** @ignore */    initEvents : function(){        this.grid.on("mousedown", this.handleMouseDown, this);        this.grid.getGridEl().on(Ext.isIE ? "keydown" : "keypress", this.handleKeyDown, this);        var view = this.grid.view;        view.on("refresh", this.onViewChange, this);        view.on("rowupdated", this.onRowUpdated, this);        view.on("beforerowremoved", this.clearSelections, this);        view.on("beforerowsinserted", this.clearSelections, this);        if(this.grid.isEditor){            this.grid.on("beforeedit", this.beforeEdit,  this);        }    },	//private    beforeEdit : function(e){        this.select(e.row, e.column, false, true, e.record);    },	//private    onRowUpdated : function(v, index, r){        if(this.selection && this.selection.record == r){            v.onCellSelect(index, this.selection.cell[1]);        }    },	//private    onViewChange : function(){        this.clearSelections(true);    },	/**	 * Returns the currently selected cell,.	 * @return {Object} The selected cell or null if none selected.	 */    getSelectedCell : function(){        return this.selection ? this.selection.cell : null;    },    /**     * Clears all selections.     * @param {Boolean} true to prevent the gridview from being notified about the change.     */    clearSelections : function(preventNotify){        var s = this.selection;        if(s){            if(preventNotify !== true){                this.grid.view.onCellDeselect(s.cell[0], s.cell[1]);            }            this.selection = null;            this.fireEvent("selectionchange", this, null);        }    },    /**     * Returns true if there is a selection.     * @return {Boolean}     */    hasSelection : function(){        return this.selection ? true : false;    },    /** @ignore */    handleMouseDown : function(e, t){        var v = this.grid.getView();        if(this.isLocked()){            return;        };        var row = v.findRowIndex(t);        var cell = v.findCellIndex(t);        if(row !== false && cell !== false){            this.select(row, cell);        }    },    /**     * Selects a cell.     * @param {Number} rowIndex     * @param {Number} collIndex     */    select : function(rowIndex, colIndex, preventViewNotify, preventFocus, /*internal*/ r){        if(this.fireEvent("beforecellselect", this, rowIndex, colIndex) !== false){            this.clearSelections();            r = r || this.grid.dataSource.getAt(rowIndex);            this.selection = {                record : r,                cell : [rowIndex, colIndex]            };            if(!preventViewNotify){                var v = this.grid.getView();                v.onCellSelect(rowIndex, colIndex);                if(preventFocus !== true){                    v.focusCell(rowIndex, colIndex);                }            }            this.fireEvent("cellselect", this, rowIndex, colIndex);            this.fireEvent("selectionchange", this, this.selection);        }    },	//private    isSelectable : function(rowIndex, colIndex, cm){        return !cm.isHidden(colIndex);    },    /** @ignore */    handleKeyDown : function(e){        if(!e.isNavKeyPress()){            return;        }        var g = this.grid, s = this.selection;        if(!s){            e.stopEvent();            var cell = g.walkCells(0, 0, 1, this.isSelectable,  this);            if(cell){                this.select(cell[0], cell[1]);            }            return;        }        var sm = this;        var walk = function(row, col, step){            return g.walkCells(row, col, step, sm.isSelectable,  sm);        };        var k = e.getKey(), r = s.cell[0], c = s.cell[1];        var newCell;        switch(k){             case e.TAB:                 if(e.shiftKey){                     newCell = walk(r, c-1, -1);                 }else{                     newCell = walk(r, c+1, 1);                 }             break;             case e.DOWN:                 newCell = walk(r+1, c, 1);             break;             case e.UP:                 newCell = walk(r-1, c, -1);             break;             case e.RIGHT:                 newCell = walk(r, c+1, 1);             break;             case e.LEFT:                 newCell = walk(r, c-1, -1);             break;             case e.ENTER:                 if(g.isEditor && !g.editing){                    g.startEditing(r, c);                    e.stopEvent();                    return;                }             break;        };        if(newCell){            this.select(newCell[0], newCell[1]);            e.stopEvent();        }    },    acceptsNav : function(row, col, cm){        return !cm.isHidden(col) && cm.isCellEditable(col, row);    },    onEditorKey : function(field, e){        var k = e.getKey(), newCell, g = this.grid, ed = g.activeEditor;        if(k == e.TAB){            if(e.shiftKey){                newCell = g.walkCells(ed.row, ed.col-1, -1, this.acceptsNav, this);            }else{                newCell = g.walkCells(ed.row, ed.col+1, 1, this.acceptsNav, this);            }            e.stopEvent();        }else if(k == e.ENTER && !e.ctrlKey){            ed.completeEdit();            e.stopEvent();        }else if(k == e.ESC){            ed.cancelEdit();        }        if(newCell){            g.startEditing(newCell[0], newCell[1]);        }    }});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线网站| 日韩免费观看高清完整版| 欧美精品一区二区三区一线天视频| 午夜精品一区在线观看| 欧美理论在线播放| 九九久久精品视频| 欧美一区二区三区视频免费 | 欧美精品一区视频| 91小视频在线| 丝袜a∨在线一区二区三区不卡| 日韩一区二区在线看| 丁香激情综合国产| 日韩成人伦理电影在线观看| 国产女同互慰高潮91漫画| 在线观看视频91| 国产一区二区不卡| 午夜视黄欧洲亚洲| 久久精品视频在线看| 在线日韩一区二区| 粉嫩av亚洲一区二区图片| 日韩电影一区二区三区| 亚洲精选一二三| 国产精品不卡在线| 国产人成一区二区三区影院| 91精品在线免费| 日韩欧美中文字幕公布| 日韩免费高清av| 精品国产露脸精彩对白| 欧美精品tushy高清| 免费成人美女在线观看| 欧美xxxx在线观看| 日韩高清不卡一区| 精品久久人人做人人爰| 欧美在线不卡视频| 开心九九激情九九欧美日韩精美视频电影 | 中文字幕在线不卡| 99riav久久精品riav| 制服丝袜日韩国产| 日本韩国欧美一区| 精品影视av免费| 国产女主播视频一区二区| www久久精品| 国产盗摄一区二区三区| 久久疯狂做爰流白浆xx| 亚洲人123区| 欧美zozozo| 国产精品萝li| 亚洲国产精品一区二区久久| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品三级av在线播放| 久久综合色鬼综合色| 欧美sm极限捆绑bd| 亚洲精品一二三区| 丝袜美腿亚洲色图| 高清国产一区二区三区| 色综合久久88色综合天天免费| 91成人国产精品| 日韩一区二区免费电影| 亚洲欧美怡红院| 久久成人免费网站| 国产大片一区二区| 亚洲欧美日本韩国| 国产精品一区二区男女羞羞无遮挡 | 亚洲最大成人网4388xx| 92国产精品观看| 午夜亚洲福利老司机| 欧美一区二区在线看| 欧美韩国日本综合| 视频一区二区三区入口| 色狠狠色狠狠综合| 国产精品久久国产精麻豆99网站 | 亚洲精品国产一区二区三区四区在线| 日韩精品乱码免费| 91精品国产综合久久久久久久| 亚洲日本在线看| 色狠狠桃花综合| 亚洲国产乱码最新视频| 国产精品麻豆欧美日韩ww| 国内精品自线一区二区三区视频| 这里只有精品电影| 国产精品资源在线| 中文字幕在线观看一区二区| jlzzjlzz亚洲日本少妇| 亚洲人成伊人成综合网小说| 99热这里都是精品| 亚洲欧美日韩电影| 日韩亚洲欧美成人一区| 韩国欧美一区二区| 亚洲免费伊人电影| 欧美成人官网二区| 91在线观看污| 久久精品噜噜噜成人88aⅴ| 欧美经典一区二区| 7777女厕盗摄久久久| 国产精品伊人色| 亚洲国产sm捆绑调教视频| 欧美一级淫片007| 91麻豆国产香蕉久久精品| 婷婷六月综合网| 国产精品国产三级国产aⅴ入口| 亚洲高清视频的网址| 久久综合中文字幕| 欧美日韩一二三区| kk眼镜猥琐国模调教系列一区二区| 午夜视频在线观看一区二区| 国产精品欧美极品| 日韩美女一区二区三区四区| 一本色道久久综合亚洲91| 国产一区二区三区免费观看| 国产精品剧情在线亚洲| 欧美tk丨vk视频| 日韩免费福利电影在线观看| 欧美一区午夜视频在线观看| 在线亚洲一区观看| 欧美日韩一区成人| 欧美日本乱大交xxxxx| 91美女蜜桃在线| 日本韩国欧美国产| 欧美日韩小视频| 91亚洲午夜精品久久久久久| 99国产精品久久久久| 不卡高清视频专区| 欧美视频精品在线| 欧美三片在线视频观看| 天堂蜜桃一区二区三区| 五月天激情小说综合| 另类的小说在线视频另类成人小视频在线 | 亚洲曰韩产成在线| 一区二区国产视频| 精品一区二区三区日韩| 麻豆精品国产传媒mv男同| 国产成人综合在线| 欧美色偷偷大香| 久久老女人爱爱| 亚洲主播在线播放| 国内外成人在线| 欧美视频三区在线播放| 久久久久久久久久久久久女国产乱 | 欧美精品一区二区在线观看| 久色婷婷小香蕉久久| 国产麻豆精品视频| 欧美专区在线观看一区| 日韩欧美久久一区| 亚洲国产美国国产综合一区二区| 久久成人久久爱| 欧美日韩在线不卡| 亚洲色图20p| 不卡的av在线| 久久蜜桃一区二区| 午夜欧美视频在线观看| 成人禁用看黄a在线| 久久尤物电影视频在线观看| 亚洲激情自拍偷拍| 精品亚洲成a人在线观看 | 欧美午夜精品久久久久久超碰 | 免费一级片91| 欧美亚洲国产一区在线观看网站 | 精品欧美黑人一区二区三区| 日韩高清电影一区| 亚洲午夜久久久久久久久久久| 久草在线在线精品观看| 91精品国产美女浴室洗澡无遮挡| 亚洲欧美日韩国产一区二区三区| 国产91在线观看丝袜| 欧美国产97人人爽人人喊| 懂色av一区二区夜夜嗨| 国产日韩欧美不卡| 色噜噜狠狠成人中文综合| 亚洲黄一区二区三区| 欧美精品日日鲁夜夜添| 日韩高清中文字幕一区| 精品美女在线播放| 成人免费视频国产在线观看| 中文字幕日韩一区二区| 日本韩国欧美国产| 国产美女视频91| 国产精品福利在线播放| 欧美视频中文字幕| 国产一区视频在线看| 中文字幕中文字幕一区| 欧美一区二区女人| 色哟哟在线观看一区二区三区| 日本中文字幕不卡| 自拍偷拍国产亚洲| 日韩美女天天操| 欧美日韩中文一区| av电影在线不卡| 中文字幕免费一区| 日韩欧美色综合| 在线国产电影不卡| 国产一区二区不卡在线| 蜜桃视频免费观看一区| 亚洲一区二区偷拍精品| 1024成人网| 国产精品欧美极品| 亚洲蜜臀av乱码久久精品 | 欧美日本视频在线| www.成人在线| fc2成人免费人成在线观看播放| 久久69国产一区二区蜜臀|