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

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

?? gridview.js

?? ext js demo ext學習資料
?? JS
?? 第 1 頁 / 共 4 頁
字號:
	        colIndex -= locked;
	    }
        return source.rows[rowIndex].childNodes[colIndex];
	},

	getCellText : function(rowIndex, colIndex){
	    return this.getCell(rowIndex, colIndex).firstChild.firstChild;
	},

	getCellBox : function(cell){
	    var b = this.fly(cell).getBox();
        if(Ext.isOpera){ // opera fails to report the Y
            b.y = cell.offsetTop + this.mainBody.getY();
        }
        return b;
    },

    getCellIndex : function(cell){
        var id = String(cell.className).match(this.cellRE);
        if(id){
            return parseInt(id[1], 10);
        }
        return 0;
    },

    findHeaderIndex : function(n){
        var r = Ext.fly(n).findParent("td." + this.hdClass, 6);
        return r ? this.getCellIndex(r) : false;
    },

    findHeaderCell : function(n){
        var r = Ext.fly(n).findParent("td." + this.hdClass, 6);
        return r ? r : false;
    },

    findRowIndex : function(n){
        if(!n){
            return false;
        }
        var r = Ext.fly(n).findParent("tr." + this.rowClass, 6);
        return r ? r.rowIndex : false;
    },

    findCellIndex : function(node){
        var stop = this.el.dom;
        while(node && node != stop){
            if(this.findRE.test(node.className)){
                return this.getCellIndex(node);
            }
            node = node.parentNode;
        }
        return false;
    },

    getColumnId : function(index){
	    return this.cm.getColumnId(index);
	},

	getSplitters : function(){
	    if(this.splitterSelector){
	       return Ext.DomQuery.select(this.splitterSelector);
	    }else{
	        return null;
	    }
	},

	getSplitter : function(index){
	    return this.getSplitters()[index];
	},

    onRowOver : function(e, t){
        var row;
        if((row = this.findRowIndex(t)) !== false){
            this.getRowComposite(row).addClass("x-grid-row-over");
        }
    },

    onRowOut : function(e, t){
        var row;
        if((row = this.findRowIndex(t)) !== false && row !== this.findRowIndex(e.getRelatedTarget())){
            this.getRowComposite(row).removeClass("x-grid-row-over");
        }
    },

    renderHeaders : function(){
	    var cm = this.cm;
        var ct = this.templates.hcell, ht = this.templates.header, st = this.templates.hsplit;
        var cb = [], lb = [], sb = [], lsb = [], p = {};
        for(var i = 0, len = cm.getColumnCount(); i < len; i++){
            p.cellId = "x-grid-hd-0-" + i;
            p.splitId = "x-grid-csplit-0-" + i;
            p.id = cm.getColumnId(i);
            p.title = cm.getColumnTooltip(i) || "";
            p.value = cm.getColumnHeader(i) || "";
            p.style = (this.grid.enableColumnResize === false || !cm.isResizable(i) || cm.isFixed(i)) ? 'cursor:default' : '';
            if(!cm.isLocked(i)){
                cb[cb.length] = ct.apply(p);
                sb[sb.length] = st.apply(p);
            }else{
                lb[lb.length] = ct.apply(p);
                lsb[lsb.length] = st.apply(p);
            }
        }
        return [ht.apply({cells: lb.join(""), splits:lsb.join("")}),
                ht.apply({cells: cb.join(""), splits:sb.join("")})];
	},

	updateHeaders : function(){
        var html = this.renderHeaders();
        this.lockedHd.update(html[0]);
        this.mainHd.update(html[1]);
    },

    /**
     * Focuses the specified row.
     * @param {Number} row The row index
     */
    focusRow : function(row){
        var x = this.scroller.dom.scrollLeft;
        this.focusCell(row, 0, false);
        this.scroller.dom.scrollLeft = x;
    },

    /**
     * Focuses the specified cell.
     * @param {Number} row The row index
     * @param {Number} col The column index
     * @param {Boolean} hscroll false to disable horizontal scrolling
     */
    focusCell : function(row, col, hscroll){
        var el = this.ensureVisible(row, col, hscroll);
        this.focusEl.alignTo(el, "tl-tl");
        if(Ext.isGecko){
            this.focusEl.focus();
        }else{
            this.focusEl.focus.defer(1, this.focusEl);
        }
    },

    /**
     * Scrolls the specified cell into view
     * @param {Number} row The row index
     * @param {Number} col The column index
     * @param {Boolean} hscroll false to disable horizontal scrolling
     */
    ensureVisible : function(row, col, hscroll){
        if(typeof row != "number"){
            row = row.rowIndex;
        }
        if(row < 0 && row >= this.ds.getCount()){
            return;
        }
        col = (col !== undefined ? col : 0);
        var cm = this.grid.colModel;
        while(cm.isHidden(col)){
            col++;
        }

        var el = this.getCell(row, col);
        if(!el){
            return;
        }
        var c = this.scroller.dom;

        var ctop = parseInt(el.offsetTop, 10);
        var cleft = parseInt(el.offsetLeft, 10);
        var cbot = ctop + el.offsetHeight;
        var cright = cleft + el.offsetWidth;

        var ch = c.clientHeight - this.mainHd.dom.offsetHeight;
        var stop = parseInt(c.scrollTop, 10);
        var sleft = parseInt(c.scrollLeft, 10);
        var sbot = stop + ch;
        var sright = sleft + c.clientWidth;

        if(ctop < stop){
        	c.scrollTop = ctop;
        }else if(cbot > sbot){
            c.scrollTop = cbot-ch;
        }

        if(hscroll !== false){
            if(cleft < sleft){
                c.scrollLeft = cleft;
            }else if(cright > sright){
                c.scrollLeft = cright-c.clientWidth;
            }
        }
        return el;
    },

    updateColumns : function(){
        this.grid.stopEditing();
        var cm = this.grid.colModel, colIds = this.getColumnIds();
        //var totalWidth = cm.getTotalWidth();
        var pos = 0;
        for(var i = 0, len = cm.getColumnCount(); i < len; i++){
            //if(cm.isHidden(i)) continue;
            var w = cm.getColumnWidth(i);
            this.css.updateRule(this.colSelector+colIds[i], "width", (w - this.borderWidth) + "px");
            this.css.updateRule(this.hdSelector+colIds[i], "width", (w - this.borderWidth) + "px");
        }
        this.updateSplitters();
    },

    generateRules : function(cm){
        var ruleBuf = [], rulesId = this.grid.id + '-cssrules';
        Ext.util.CSS.removeStyleSheet(rulesId);
        for(var i = 0, len = cm.getColumnCount(); i < len; i++){
            var cid = cm.getColumnId(i);
            var align = '';
            if(cm.config[i].align){
                align = 'text-align:'+cm.config[i].align+';';
            }
            var hidden = '';
            if(cm.isHidden(i)){
                hidden = 'display:none;';
            }
            var width = "width:" + (cm.getColumnWidth(i) - this.borderWidth) + "px;";
            ruleBuf.push(
                    this.colSelector, cid, " {\n", cm.config[i].css, align, width, "\n}\n",
                    this.hdSelector, cid, " {\n", align, width, "}\n",
                    this.tdSelector, cid, " {\n",hidden,"\n}\n",
                    this.splitSelector, cid, " {\n", hidden , "\n}\n");
        }
        return Ext.util.CSS.createStyleSheet(ruleBuf.join(""), rulesId);
    },

    updateSplitters : function(){
        var cm = this.cm, s = this.getSplitters();
        if(s){ // splitters not created yet
            var pos = 0, locked = true;
            for(var i = 0, len = cm.getColumnCount(); i < len; i++){
                if(cm.isHidden(i)) continue;
                var w = cm.getColumnWidth(i);
                if(!cm.isLocked(i) && locked){
                    pos = 0;
                    locked = false;
                }
                pos += w;
                s[i].style.left = (pos-this.splitOffset) + "px";
            }
        }
    },

    handleHiddenChange : function(colModel, colIndex, hidden){
        if(hidden){
            this.hideColumn(colIndex);
        }else{
            this.unhideColumn(colIndex);
        }
    },

    hideColumn : function(colIndex){
        var cid = this.getColumnId(colIndex);
        this.css.updateRule(this.tdSelector+cid, "display", "none");
        this.css.updateRule(this.splitSelector+cid, "display", "none");
        if(Ext.isSafari){
            this.updateHeaders();
        }
        this.updateSplitters();
        this.layout();
    },

    unhideColumn : function(colIndex){
        var cid = this.getColumnId(colIndex);
        this.css.updateRule(this.tdSelector+cid, "display", "");
        this.css.updateRule(this.splitSelector+cid, "display", "");

        if(Ext.isSafari){
            this.updateHeaders();
        }
        this.updateSplitters();
        this.layout();
    },

    insertRows : function(dm, firstRow, lastRow, isUpdate){
        if(firstRow == 0 && lastRow == dm.getCount()-1){
            this.refresh();
        }else{
            if(!isUpdate){
                this.fireEvent("beforerowsinserted", this, firstRow, lastRow);
            }
            var s = this.getScrollState();
            var markup = this.renderRows(firstRow, lastRow);
            this.bufferRows(markup[0], this.getLockedTable(), firstRow);
            this.bufferRows(markup[1], this.getBodyTable(), firstRow);
            this.restoreScroll(s);
            if(!isUpdate){
                this.fireEvent("rowsinserted", this, firstRow, lastRow);
                this.syncRowHeights(firstRow, lastRow);
                this.stripeRows(firstRow);
                this.layout();
            }
        }
    },

    bufferRows : function(markup, target, index){
        var before = null, trows = target.rows, tbody = target.tBodies[0];
        if(index < trows.length){
            before = trows[index];
        }
        var b = document.createElement("div");
        b.innerHTML = "<table><tbody>"+markup+"</tbody></table>";
        var rows = b.firstChild.rows;
        for(var i = 0, len = rows.length; i < len; i++){
            if(before){
                tbody.insertBefore(rows[0], before);
            }else{
                tbody.appendChild(rows[0]);
            }
        }
        b.innerHTML = "";
        b = null;
    },

    deleteRows : function(dm, firstRow, lastRow){
        if(dm.getRowCount()<1){
            this.fireEvent("beforerefresh", this);
            this.mainBody.update("");
            this.lockedBody.update("");
            this.fireEvent("refresh", this);
        }else{
            this.fireEvent("beforerowsdeleted", this, firstRow, lastRow);
            var bt = this.getBodyTable();
            var tbody = bt.firstChild;
            var rows = bt.rows;
            for(var rowIndex = firstRow; rowIndex <= lastRow; rowIndex++){
                tbody.removeChild(rows[firstRow]);
            }
            this.stripeRows(firstRow);
            this.fireEvent("rowsdeleted", this, firstRow, lastRow);
        }
    },

    updateRows : function(dataSource, firstRow, lastRow){
        var s = this.getScrollState();
        this.refresh();
        this.restoreScroll(s);
    },

    handleSort : function(dataSource, sortColumnIndex, sortDir, noRefresh){
        if(!noRefresh){
           this.refresh();
        }
        this.updateHeaderSortState();
    },

    getScrollState : function(){
        var sb = this.scroller.dom;
        return {left: sb.scrollLeft, top: sb.scrollTop};
    },

    stripeRows : function(startRow){
        if(!this.grid.stripeRows || this.ds.getCount() < 1){
            return;
        }
        startRow = startRow || 0;
        var rows = this.getBodyTable().rows;
        var lrows = this.getLockedTable().rows;
        var cls = ' x-grid-row-alt ';
        for(var i = startRow, len = rows.length; i < len; i++){
            var row = rows[i], lrow = lrows[i];
            var isAlt = ((i+1) % 2 == 0);
            var hasAlt = (' '+row.className + ' ').indexOf(cls) != -1;
            if(isAlt == hasAlt){
                continue;
            }
            if(isAlt){
                row.className += " x-grid-row-alt";
            }else{
                row.className = row.className.replace("x-grid-row-alt", "");
            }
            if(lrow){
                lrow.className = row.className;
            }
        }
    },

    restoreScroll : function(state){
        var sb = this.scroller.dom;
        sb.scrollLeft = state.left;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费看欧美美女黄的网站| 日韩欧美一区在线| 亚洲乱码日产精品bd| 五月婷婷欧美视频| 国产99久久久久久免费看农村| 岛国精品在线观看| 欧美一区二区三区在| 国产精品全国免费观看高清| 亚洲国产视频一区| 成人性视频免费网站| 欧美群妇大交群的观看方式| 欧美经典一区二区三区| 日韩成人一区二区| 色播五月激情综合网| 久久精品视频在线免费观看| 日韩专区在线视频| 色一情一乱一乱一91av| 久久精品夜色噜噜亚洲aⅴ| 三级久久三级久久| 91黄色激情网站| 国产精品伦理在线| 国产综合色在线视频区| 欧美日本一区二区三区四区| ㊣最新国产の精品bt伙计久久| 国产成人av电影在线观看| 欧美一区二区三区成人| 亚洲福利国产精品| 欧美性猛交一区二区三区精品| 色网综合在线观看| 一区二区免费看| 日韩精品一区二区三区在线观看| 精品一区在线看| 成人黄色在线视频| 国产69精品久久777的优势| 欧美综合一区二区三区| 一区二区三区免费网站| 日韩av中文字幕一区二区| 91精品国产黑色紧身裤美女| 亚洲777理论| 91在线国内视频| 欧美亚洲禁片免费| 亚洲一区二区三区中文字幕| 春色校园综合激情亚洲| 成人18精品视频| 亚洲国产成人午夜在线一区 | 国产精品一区二区三区四区| 亚洲欧洲日韩综合一区二区| 日韩一级完整毛片| 久久综合一区二区| 国产精品色在线观看| 亚洲欧美另类小说| 麻豆精品一区二区av白丝在线| 国产精品自拍一区| 中文字幕不卡一区| 色综合 综合色| 亚洲一区二区三区视频在线| 欧美三级电影精品| 久久福利视频一区二区| 日韩女同互慰一区二区| 国产成人av在线影院| 亚洲色图一区二区| 4438x成人网最大色成网站| 久久国产乱子精品免费女| 国产色婷婷亚洲99精品小说| 99视频在线精品| 三级精品在线观看| 国产精品青草久久| 欧美日韩另类一区| 精品中文av资源站在线观看| 亚洲欧洲精品一区二区精品久久久| 欧美综合视频在线观看| 国模少妇一区二区三区| 一区二区三区.www| 精品少妇一区二区三区日产乱码| 成人免费的视频| 日韩精品成人一区二区在线| 久久久精品2019中文字幕之3| 成人黄动漫网站免费app| 亚洲午夜电影在线观看| 久久亚洲一区二区三区四区| 91视频在线看| 美国十次了思思久久精品导航| 国产日产欧美一区| 欧美高清视频不卡网| 国产91丝袜在线观看| 图片区小说区国产精品视频| 日本一区二区三级电影在线观看 | 丰满放荡岳乱妇91ww| 亚洲福利国产精品| 亚洲欧美偷拍三级| 国产欧美视频在线观看| 91精品国产综合久久久久久漫画| 99re热这里只有精品视频| 久久99热这里只有精品| 亚洲一区二区在线免费观看视频| 国产日韩精品久久久| 这里只有精品99re| 欧美影视一区在线| 99re这里只有精品首页| 国产一区不卡精品| 日韩电影在线观看电影| 国产麻豆日韩欧美久久| 久久精品一区二区三区不卡牛牛| 欧美日本一区二区三区四区| 在线观看国产一区二区| 日韩成人一级大片| 欧美经典一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 激情久久五月天| 国产精品久久久久aaaa樱花| 欧美撒尿777hd撒尿| 日本高清视频一区二区| 99麻豆久久久国产精品免费优播| 国产精品99久久久久久久女警 | 亚洲图片另类小说| 欧美国产精品久久| 久久久美女毛片| 久久久精品蜜桃| 国产亚洲一二三区| 国产日韩亚洲欧美综合| 国产欧美一二三区| 国产精品国模大尺度视频| 中文字幕av一区二区三区免费看| 国产欧美一区视频| 国产精品视频在线看| 国产精品久久久久aaaa| 国产精品国产自产拍高清av| 国产精品久久久久aaaa| 亚洲激情欧美激情| 亚洲国产美国国产综合一区二区| 亚洲午夜免费电影| 男女性色大片免费观看一区二区 | 久久久不卡影院| 国产日韩欧美综合在线| 国产欧美一区二区精品性色超碰| 中文字幕国产精品一区二区| 国产精品黄色在线观看| 亚洲综合视频在线| 日韩激情一区二区| 国产乱码精品一区二区三| 国产 欧美在线| 色综合久久久久网| 欧美日韩激情在线| 亚洲精品一区二区在线观看| 国产欧美精品国产国产专区 | 亚洲一区二区三区免费视频| 视频一区视频二区中文| 国产一区二区不卡在线| 99久久国产综合色|国产精品| 日本电影欧美片| 日韩女同互慰一区二区| 国产精品久久久久久久久晋中 | 欧美中文字幕久久| 午夜精品久久久久| 青青草成人在线观看| 久久www免费人成看片高清| 国产精品一二三四区| 久久99久久久久久久久久久| 亚洲成人免费在线观看| 日本vs亚洲vs韩国一区三区二区| 精品一区二区免费在线观看| 99久久精品情趣| 国产农村妇女毛片精品久久麻豆 | 色久优优欧美色久优优| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲黄色免费网站| 久久99热这里只有精品| 色av一区二区| 久久综合久久鬼色| 亚洲国产毛片aaaaa无费看| 国产二区国产一区在线观看| 精品视频一区 二区 三区| 日本一二三不卡| 蜜桃av噜噜一区| 欧美曰成人黄网| 国产精品久久久久7777按摩| 久草中文综合在线| 欧美老肥妇做.爰bbww视频| 国产精品情趣视频| 国产一区视频网站| 日韩一区二区精品葵司在线| 亚洲精品第一国产综合野| 国产成人在线电影| 欧美大片一区二区| 亚洲v日本v欧美v久久精品| 99久久伊人久久99| 国产欧美综合在线观看第十页| 老司机精品视频在线| 欧美日韩国产美女| 亚洲综合激情小说| 91麻豆免费观看| 中文字幕一区二区三区av| 国产成a人亚洲精| 久久色在线观看| 国产在线一区观看| 日韩欧美亚洲国产另类| 免播放器亚洲一区| 日韩欧美在线一区二区三区| 天堂蜜桃一区二区三区| 欧美巨大另类极品videosbest|