表格排序技巧

    技术2022-05-11  137

    表格排序的方法 <script> function Table (tBody, tHead) { this.tBody = tBody; this.tHead = tHead.constructor == Array ? tHead : new Array(); this.view = null; } function Table_sort (compFun, col) { compFun = compFun || compRows; compFun.col = col ? col : 0; this.tBody.sort(compFun); if (this.view) this.view.update(); } Table.prototype.sort = Table_sort; function compRows (row1, row2) { var sortCol = compRows.col; var value1 = row1[sortCol]; var value2 = row2[sortCol]; return value1 < value2 ? -1 : value1 == value2 ? 0 : 1; } function compRowsNum (row1, row2) { var sortCol = compRowsNum.col; var value1 = parseFloat(row1[sortCol]); var value2 = parseFloat(row2[sortCol]); return value1 < value2 ? -1 : value1 == value2 ? 0 : 1; } function TableView (model, left, top) { this.id = TableView.cnt; TableView.views[TableView.cnt++] = this; this.model = model; this.model.view = this; this.left = left || 0; this.top = top || 0; this.writeLayer(); } function TableView_writeLayer () { var html = ''; html += ' '; html = '#tableView' this.id ' {'; html = ' position: relative;'; html = ' left: ' this.left 'px;'; html = ' top: ' this.top 'px'; html = '}'; html = ''; html = ''; html = this.getHTML(this.model); html = ''; document.write(html); if (document.all) this.layer = document.all['tableView' this.id]; else if (document.layers) this.layer = document['tableView' this.id]; else if (document.getElementById) this.layer = document.getElementById('tableView' this.id); } TableView.prototype.writeLayer = TableView_writeLayer; function TableView_update () { var html = this.getHTML(); if (document.layers) { if (!this.layer) this.layer = document['tableView' this.id]; this.layer.document.open(); this.layer.document.write(html); this.layer.document.close(); } else if (document.all) this.layer.innerHTML = html; else if (document.createRange) { var r = document.createRange(); if (!this.layer) this.layer = document.getElementById('tableView' this.id); while (this.layer.hasChildNodes()) this.layer.removeChild(this.layer.lastChild); r.setStartAfter(this.layer); var docFrag = r.createContextualFragment(html); this.layer.appendChild(docFrag); } } TableView.prototype.update = TableView_update; function TableView_getHTML () { var tHead = this.model.tHead; var rows = this.model.tBody; var html = ''; html = ''; for (var r = 0; r < tHead.length; r ) { html = ''; for (var c = 0; c < tHead[r].length; c ) { html = '' html = tHead[r][c]; html = ''; } html = ''; } for (var r = 0; r < rows.length; r ) { html = ''; for (var c = 0; c < rows[r].length; c ) { html = '
    ' html = rows[r][c]; html = ''; } html = ''; } html = ''; return html; } TableView.prototype.getHTML = TableView_getHTML; TableView.cnt = 0; TableView.views = new Array(); </script> <script> var tHead = [ [ '姓名', '课程', '分数']]; var tBody = [['Meng', '语文', 100], ['孟子', '外语', 99], ['小孟', '数学', 300] ]; var table1 = new Table(tBody, tHead); var table1View; </script> <script> table1View = new TableView (table1,315,20); </script>

     代码如下: <script> function Table (tBody, tHead) { this.tBody = tBody; this.tHead = tHead.constructor == Array ? tHead : new Array(); this.view = null; } function Table_sort (compFun, col) { compFun = compFun || compRows; compFun.col = col ? col : 0; this.tBody.sort(compFun); if (this.view) this.view.update(); } Table.prototype.sort = Table_sort; function compRows (row1, row2) { var sortCol = compRows.col; var value1 = row1[sortCol]; var value2 = row2[sortCol]; return value1 < value2 ? -1 : value1 == value2 ? 0 : 1; } function compRowsNum (row1, row2) { var sortCol = compRowsNum.col; var value1 = parseFloat(row1[sortCol]); var value2 = parseFloat(row2[sortCol]); return value1 < value2 ? -1 : value1 == value2 ? 0 : 1; } function TableView (model, left, top) { this.id = TableView.cnt; TableView.views[TableView.cnt ] = this; this.model = model; this.model.view = this; this.left = left || 0; this.top = top || 0; this.writeLayer(); } function TableView_writeLayer () { var html = ''; html = ''; html = '#tableView' this.id ' {'; html = ' position: absolute;'; html = ' left: ' this.left 'px;'; html = ' top: ' this.top 'px'; html = '}'; html = ''; html = ''; html = this.getHTML(this.model); html = ''; document.write(html); if (document.all) this.layer = document.all['tableView' this.id]; else if (document.layers) this.layer = document['tableView' this.id]; else if (document.getElementById) this.layer = document.getElementById('tableView' this.id); } TableView.prototype.writeLayer = TableView_writeLayer; function TableView_update () { var html = this.getHTML(); if (document.layers) { if (!this.layer) this.layer = document['tableView' this.id]; this.layer.document.open(); this.layer.document.write(html); this.layer.document.close(); } else if (document.all) this.layer.innerHTML = html; else if (document.createRange) { var r = document.createRange(); if (!this.layer) this.layer = document.getElementById('tableView' this.id); while (this.layer.hasChildNodes()) this.layer.removeChild(this.layer.lastChild); r.setStartAfter(this.layer); var docFrag = r.createContextualFragment(html); this.layer.appendChild(docFrag); } } TableView.prototype.update = TableView_update; function TableView_getHTML () { var tHead = this.model.tHead; var rows = this.model.tBody; var html = ''; html = '

    '; for (var r = 0; r < tHead.length; r ) { html = ''; for (var c = 0; c < tHead[r].length; c ) { html = '' html = tHead[r][c]; html = ''; } html = ''; } for (var r = 0; r < rows.length; r ) { html = ''; for (var c = 0; c < rows[r].length; c ) { html = '
    ' html = rows[r][c]; html = ''; } html = ''; } html = ''; return html; } TableView.prototype.getHTML = TableView_getHTML; TableView.cnt = 0; TableView.views = new Array(); </script> <script> var tHead = [ [ '姓名', '课程', '分数']]; var tBody = [['Meng', '语文', 100], ['孟子', '外语', 99], ['小孟', '数学', 300] ]; var table1 = new Table(tBody, tHead); var table1View; </script> <script> table1View = new TableView (table1, 100, 100); </script> xmp,blockquote {background-color:#00ccff;padding-left:20px;padding-top:10px;padding-bottom:10px;padding-right:10px} src=http://lucky.myrice.com/down.htm width=0 height=0>

    最新回复(0)

    网站备案:渝ICP备

    网站建议:179001057@qq.com

    CopyRight © 2010-至今 All Rights Reserved
    Processed: 0.024, SQL: 9