<%i=0
do while not rs_o.eof%>
            <tr id="tr<%=i%>x">
<td style="display:none">&nbsp;</td>
<script language="javascript">
Adds(a1,'<%=rs_o("Supplier_Fullname")%>');
Adds(a2,'<%=rs_o("Order_Number")%>');
Adds(a3,'<%=rs_o("Order_Create_Time")%>');
Adds(a4,'<%=rs_o("Delivery_Time")%>');
Adds(a5,'<%=rs_o("OA_DelTime")%>');
Adds(a6,'<%=rs_o("Last_DelTime")%>');
Adds(a7,'<%=rs_o("Article_No")%>');
Adds(a8,'<%=rs_o("CO_Description")%>');
Adds(a9,'<%=rs_o("UnOrder_Quantity")%>');
Adds(a10,'<%=rs_o("UnDelivery_Q")%>');
Adds(a11,'<%=rs_o("already_dq")%>');
</script>
              <td id="tr<%=i%>x1" height="30" bgcolor="#FFF6D9"><%=rs_o("Supplier_Fullname")%></td>
              <td id="tr<%=i%>x2" height="30" bgcolor="#FFF6D9"><%=rs_o("Order_Number")%></td>
              <td id="tr<%=i%>x3" height="30" bgcolor="#FFF6D9"><%=rs_o("Order_Create_Time")%></td>
              <td id="tr<%=i%>x4" height="30" bgcolor="#FFF6D9"><%=rs_o("Delivery_Time")%></td>
              <td id="tr<%=i%>x5" height="30" bgcolor="#FFF6D9"><%=rs_o("OA_DelTime")%></td>
              <td id="tr<%=i%>x6" height="30" bgcolor="#FFF6D9"><%=rs_o("Last_DelTime")%></td>
              <td class=numeric id="tr<%=i%>x7" height="30" bgcolor="#FFF6D9"><%=rs_o("Article_No")%></td>
              <td id="tr<%=i%>x8" height="30" bgcolor="#FFF6D9"><%=rs_o("CO_Description")%></td>
              <td  class=numeric id="tr<%=i%>x9" height="30" bgcolor="#FFF6D9"><%=rs_o("UnOrder_Quantity")%></td>
              <td class=numeric id="tr<%=i%>x10" height="30" bgcolor="#FFF6D9"><%=rs_o("UnDelivery_Q")%></td>
              <td class=numeric id="tr<%=i%>x11" height="30" bgcolor="#FFF6D9"><%=rs_o("already_dq")%></td>
              <td height="30" align="center" bgcolor="#FFF6D9"><button style="font-family:Arial, Helvetica, sans-serif; font-size:9pt; background-color:#FFF6D9; border-color:; color:#57291f; height:20; width:40px;" onClick="window.open('shipment.asp?cn=<%=request("n")%>&sn=<%=rs_o("Supplier_Fullname")%>&nb=<%=rs_o("Order_Number")%>&an=<%=rs_o("Article_No")%>','','status=no,scrollbars=yes,top=100,left=450,width=600,height=300')">Click</button></td>
              <td height="30" align="center" bgcolor="#FFF6D9"><button style="font-family:Arial, Helvetica, sans-serif; font-size:9pt; background-color:#FFF6D9; border-color:; color:#57291f; height:20; width:40px;" onClick="window.open('Interbuild_Customer_Print.asp?Order_Number=<%=rs_o("Order_Number")%>')">Click</button></td>
            </tr>
<%
i=i+1
rs_o.movenext
loop
%>
</TBODY>
          </table></div></td>
        </tr>
      </table></td>
    </tr>
  </table>
  
  
</form>
<script language="javascript">
a1.sort();a2.sort();a3.sort();a4.sort();a5.sort();a6.sort();a7.sort();a8.sort();a9.sort();a10.sort();a11.sort();
AddSelectOption(a1,'sl1');
AddSelectOption(a2,'sl2');
AddSelectOption(a3,'sl3');
AddSelectOption(a4,'sl4');
AddSelectOption(a5,'sl5');
AddSelectOption(a6,'sl6');
AddSelectOption(a7,'sl7');
AddSelectOption(a8,'sl8');
AddSelectOption(a9,'sl9');
AddSelectOption(a10,'sl10');
AddSelectOption(a11,'sl11');
function AddSelectOption(x,y){document.getElementById(y).length=0;
var   text=document.createTextNode("all");  
var   cld=document.createElement('option'); 
cld.value=0;cld.appendChild(text);  
document.getElementById(y).appendChild(cld);   
var   text=document.createTextNode("adjust");  
var   cld=document.createElement('option'); 
cld.value=0;cld.appendChild(text);  
document.getElementById(y).appendChild(cld);   
for(var i=0;i<x.length;i++){
var   text=document.createTextNode(x[i]);  
var   cld=document.createElement('option'); 
cld.value=0;cld.appendChild(text);  
document.getElementById(y).appendChild(cld);   
}
}function ShowTable(u){
if(document.getElementById('sl'+u).options[document.getElementById('sl'+u).selectedIndex].text=='adjust'){sortTable('defTblBdy',  u, false);
var x=eval('a'+u);
x.sort();
var t='sl'+u;
AddSelectOption(x,t);return;
}
for(var i=0;i<100000;i++){ try{var tr=eval('tr'+i+'x');}catch(e){return;}

var uu=true;
for(var j=1;j<=11;j++)
uu=uu&(document.getElementById('sl'+j).options[document.getElementById('sl'+j).selectedIndex].text=='all'||document.getElementById('sl'+j).options[document.getElementById('sl'+j).selectedIndex].text==document.getElementById('tr'+i+'x'+j).innerHTML);
tr.style.display= uu?'block':'none';
}
}
</script>

解决方案 »

  1.   

    <SCRIPT type=text/javascript>function sortTable(id, col, rev) {  // Get the table or table section to sort.
      var tblEl = document.getElementById(id);  // The first time this function is called for a given table, set up an
      // array of reverse sort flags.
      if (tblEl.reverseSort == null) {
        tblEl.reverseSort = new Array();
        tblEl.lastColumn = 1;
      }
      if (tblEl.reverseSort[col] == null)
        tblEl.reverseSort[col] = rev;
      if (col == tblEl.lastColumn)
        tblEl.reverseSort[col] = !tblEl.reverseSort[col];
      tblEl.lastColumn = col;
      var oldDsply = tblEl.style.display;
      tblEl.style.display = "none";
      var tmpEl;
      var i, j;
      var minVal, minIdx;
      var testVal;
      var cmp;  for (i = 0; i < tblEl.rows.length - 1; i++) {
        minIdx = i;
        minVal = getTextValue(tblEl.rows[i].cells[col]);
        for (j = i + 1; j < tblEl.rows.length; j++) {
          testVal = getTextValue(tblEl.rows[j].cells[col]);
          cmp = compareValues(minVal, testVal);
          if (tblEl.reverseSort[col])
            cmp = -cmp;
          if (cmp == 0 && col != 1)
            cmp = compareValues(getTextValue(tblEl.rows[minIdx].cells[1]),
                                getTextValue(tblEl.rows[j].cells[1]));
          if (cmp > 0) {
            minIdx = j;
            minVal = testVal;
          }
        }
        if (minIdx > i) {
          tmpEl = tblEl.removeChild(tblEl.rows[minIdx]);
          tblEl.insertBefore(tmpEl, tblEl.rows[i]);
        }
      }
      makePretty(tblEl, col);
      setRanks(tblEl, col, rev);
      tblEl.style.display = oldDsply;  return false;
    }
    if (document.ELEMENT_NODE == null) {
      document.ELEMENT_NODE = 1;
      document.TEXT_NODE = 3;
    }function getTextValue(el) {  var i;
      var s;
      s = "";
      for (i = 0; i < el.childNodes.length; i++)
        if (el.childNodes[i].nodeType == document.TEXT_NODE)
          s += el.childNodes[i].nodeValue;
        else if (el.childNodes[i].nodeType == document.ELEMENT_NODE &&
                 el.childNodes[i].tagName == "BR")
          s += " ";
        else
          s += getTextValue(el.childNodes[i]);  return normalizeString(s);
    }function compareValues(v1, v2) {  var f1, f2;  f1 = parseFloat(v1);
      f2 = parseFloat(v2);
      if (!isNaN(f1) && !isNaN(f2)) {
        v1 = f1;
        v2 = f2;
      }
      if (v1 == v2)
        return 0;
      if (v1 > v2)
        return 1
      return -1;
    }
    var whtSpEnds = new RegExp("^\\s*|\\s*$", "g");
    var whtSpMult = new RegExp("\\s\\s+", "g");function normalizeString(s) {  s = s.replace(whtSpMult, " ");  // Collapse any multiple whites space.
      s = s.replace(whtSpEnds, "");   // Remove leading or trailing white space.  return s;
    }
    var rowClsNm = "alternateRow";
    var colClsNm = "sortedColumn";
    var rowTest = new RegExp(rowClsNm, "gi");
    var colTest = new RegExp(colClsNm, "gi");function makePretty(tblEl, col) {  var i, j;
      var rowEl, cellEl;
      for (i = 0; i < tblEl.rows.length; i++) {
       rowEl = tblEl.rows[i];
       rowEl.className = rowEl.className.replace(rowTest, "");
        if (i % 2 != 0)
          rowEl.className += " " + rowClsNm;
        rowEl.className = normalizeString(rowEl.className);
        for (j = 2; j < tblEl.rows[i].cells.length; j++) {
          cellEl = rowEl.cells[j];
          cellEl.className = cellEl.className.replace(colTest, "");
          if (j == col)
            cellEl.className += " " + colClsNm;
          cellEl.className = normalizeString(cellEl.className);
        }
      }
      var el = tblEl.parentNode.tHead;
      rowEl = el.rows[el.rows.length - 1];
      for (i = 2; i < rowEl.cells.length; i++) {
        cellEl = rowEl.cells[i];
        cellEl.className = cellEl.className.replace(colTest, "");
        if (i == col)
          cellEl.className += " " + colClsNm;
          cellEl.className = normalizeString(cellEl.className);
      }
    }function setRanks(tblEl, col, rev) {
      var i    = 0;
      var incr = 1;
      if (tblEl.reverseSort[col])
        rev = !rev;
      if (rev) {
        incr = -1;
        i = tblEl.rows.length - 1;
      }
      var count   = 1;
      var rank    = count;
      var curVal;
      var lastVal = null;
      while (col > 1 && i >= 0 && i < tblEl.rows.length) {
        curVal = getTextValue(tblEl.rows[i].cells[col]);
        if (lastVal != null && compareValues(curVal, lastVal) != 0)
            rank = count;
        tblEl.rows[i].rank = rank;
        lastVal = curVal;
        count++;
        i += incr;
      }
      var rowEl, cellEl;
      var lastRank = 0;  // Go through the rows from top to bottom.
      for (i = 0; i < tblEl.rows.length; i++) {
        rowEl = tblEl.rows[i];
        cellEl = rowEl.cells[0];
        // Delete anything currently in the rank column.
        while (cellEl.lastChild != null)
          cellEl.removeChild(cellEl.lastChild);
        // If this row's rank is different from the previous one, Insert a new text
        // node with that rank.
        if (col > 1 && rowEl.rank != lastRank) {
          cellEl.appendChild(document.createTextNode(rowEl.rank));
          lastRank = rowEl.rank;
        }
      }
    }</SCRIPT>
      

  2.   

    别放ASP代码,放页面查看源文件的代码
      

  3.   

    100000很可能出在这个循环里
    为什么要循环这么多次
    可以把上限设为TBALE的行数
    document.getElementById("table的id").childNodes[0].childNodes.length
      

  4.   

    其实asp就那么几行代码
    主要得都是javascirpt代码
      

  5.   

    引用:"有一个选了就改变table的排列顺序的选项,这次选为升序,那么下次就为降序"这个功能的实现一般是有一个状态参数flag,升序时它为1或0,降序列时为0或1引用:"怎么把这个改变排列次序的选项改成两个选项,一个升序,一个降序"把这个状态参数改由两个流程控制,按button1时 flag=1 ,按button2时 flag=0