对表格进行动态排序!分不是问题!

我在给客户开发WEB程序,例如对查询出的结果,在网页的table上进行排序,就是
用户比例点击某table标题,就对这一列进行升降配序!
---------------------------------------------------------------

http://expert.csdn.net/Expert/TopicView1.asp?id=1514463
---------------------------------------------------------------

这个如果用XML根本就不是问题:

《XML创建可排序、分页的数据显示页面》
http://www.programfan.com/showarticle.asp?id=1925
---------------------------------------------------------------

呵.

http://www.5inet.net/corp/list_stone.asp

看看.用asp就最简单了.
---------------------------------------------------------------

http://www.csdn.net/Develop/list_article.asp?author=net_lover&myclassid=80&myclassName=JavaScript
---------------------------------------------------------------

var dom = (document.getElementsByTagName) ? true : false;
var ie5 = (document.getElementsByTagName && document.all) ? true : false;
var arrowUp, arrowDown;
if (ie5 ¦ ¦ dom)
initSortTable();
function initSortTable() {
arrowUp = document.createElement("SPAN");
var tn = document.createTextNode("5");
arrowUp.appendChild(tn);
arrowUp.className = "arrow";
arrowDown = document.createElement("SPAN");
var tn = document.createTextNode("6");
arrowDown.appendChild(tn);
arrowDown.className = "arrow";
}

function sortTable(tableNode, nCol, bDesc, sType) {
var tBody = tableNode.tBodies[0];
var trs = tBody.rows;
var a = new Array();

for (var i=0; i

 1<trs.length; ""));="" "1="" "1,000,000"="" "100cm"="" '="" '));="" (as="" (ftypecast(getinnertext(n1.cells[c]))="" (n1,="" (stype="CaseInsensitiveString" (var="" )="" *="" +1;="" -1="" 000="" 000"="" :="" <="" ?="" [^0-9\\.]="" \\-="" a="" a.sort(comparebycolumn(ncol,bdesc,stype));="" a[i]="trs[i];" allow="" alternative="" as="" bdescending,="" be="" but="" c="nCol;" can="" caseinsensitivestring(s)="" characters="" comparebycolumn(ncol,="" d="" date.parse(s.replace(="" else="" follow="" for="" ftypecast="CaseInsensitiveString;" ftypecast(getinnertext(n2.cells[c])))="" function="" g,="" handle="" i="0;" i++)="" i<a.length;="" if="" in="" is="" like="" lot="" more)="" n2)="" non="" number="" number(s.replace(="" numerical="" one="" parsedate(s)="" return="" slower="" string="" string(s).touppercase();="" strings="" stype)="" tbody.appendchild(a[i]);="" the="" this="" to="" tonumber(s)="" used:="" var="" well="" {="" }=""> fTypeCast(getInnerText(n2.cells[c])))   
 2return d ? +1 : -1;   
 3return 0;   
 4};   
 5}   
 6  
 7function sortColumn(e) {   
 8var tmp, el, tHeadParent;   
 9if (ie5)   
10tmp = e.srcElement;   
11else if (dom)   
12tmp = e.target;   
13tHeadParent = getParent(tmp, "THEAD");   
14el = getParent(tmp, "TD");   
15if (tHeadParent == null)   
16return;   
17  
18if (el != null) {   
19var p = el.parentNode;   
20var i;   
21if (el._descending) // catch the null   
22el._descending = false;   
23else   
24el._descending = true;   
25  
26if (tHeadParent.arrow != null) {   
27if (tHeadParent.arrow.parentNode != el) {   
28tHeadParent.arrow.parentNode._descending = null; //reset sort order   
29}   
30tHeadParent.arrow.parentNode.removeChild(tHeadParent.arrow);   
31}   
32if (el._descending)   
33tHeadParent.arrow = arrowDown.cloneNode(true);   
34else   
35tHeadParent.arrow = arrowUp.cloneNode(true);   
36el.appendChild(tHeadParent.arrow);   
37  
38// get the index of the td   
39for (i=0; i&lt;p.cells.length; i++) {   
40if (p.cells[i] == el) break;   
41}   
42var table = getParent(el, "TABLE");   
43// can't fail   
44  
45sortTable(table,i,el._descending, el.getAttribute("type"));   
46}   
47}   
48  
49function getInnerText(el) {   
50if (ie5) return el.innerText; //Not needed but it is faster   
51  
52var str = "";   
53  
54for (var i=0; i&lt;el.childNodes.length; i++) {   
55switch (el.childNodes.item(i).nodeType) {   
56case 1: //ELEMENT_NODE   
57str += getInnerText(el.childNodes.item(i));   
58break;   
59case 3: //TEXT_NODE   
60str += el.childNodes.item(i).nodeValue;   
61break;   
62}   
63  
64}   
65  
66return str;   
67}   
68function getParent(el, pTagName) {   
69if (el == null) return null;   
70else if (el.nodeType == 1 &amp;&amp; el.tagName.toLowerCase() == pTagName.toLowerCase()) // Gecko bug, supposed to be uppercase   
71return el;   
72else   
73return getParent(el.parentNode, pTagName);   
74}</trs.length;>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus