在JS中可以用 tableid.rows(i).InnerHtml.value 取得行值 tableid.cols(i).InnerHtml.value取得列值
如取得整个表格的数据,用二重循环即可
tableAct.htc拖动web 页面的表的整列:用html组件:tableAct.htc组件(或称行...
//---------------------------------------------------------------------
//sort
//
//---------------------------------------------------------------------
<public:event name="onrowselect" id=rowSelect />
<public:property name="hlColor" />
<public:property name="slColor" />
<public:property name='dragColor' />
<public:attach event="ondetach" onevent="cleanup()" />
<public:attach event=oncontentready onevent="init();" />
<script language=jscript>
var currRow = -1;
var selRow = -1;
if (element.tagName == 'TABLE')
{
element.attachEvent('onmouseover', onMouseOver);
element.attachEvent('onmouseout', onMouseOut);
element.attachEvent('onclick', onClick);
}
else
{
alert("Error: tableAct not attached to a table element");
}
//******************************************************
//cleanup
//******************************************************
function cleanup()
{
hilite(-1);
element.detachEvent('onmouseover', onMouseOver);
element.detachEvent('onmouseout', onMouseOut);
element.detachEvent('onclick', onClick);
}
//******************************************************
//onClick
//******************************************************
function onClick()
{
srcElem = window.event.srcElement;
//crawl up the tree to find the table row
while (srcElem.tagName != "TR" && srcElem.tagName != "TABLE")
srcElem = srcElem.parentElement;
if(srcElem.tagName != "TR") return;
if(srcElem.rowIndex == 0 ) return;
if (selRow != -1) selRow.runtimeStyle.backgroundColor = '';
srcElem.runtimeStyle.backgroundColor = slColor;
selRow = srcElem;
var oEvent = createEventObject();
oEvent.selected = selRow;
rowSelect.fire(oEvent);
}
//******************************************************
//onMouseOver
//******************************************************
function onMouseOver()
{
srcElem = window.event.srcElement;
//crawl up to find the row
while (srcElem.tagName != "TR" && srcElem.tagName != "TABLE")
srcElem = srcElem.parentElement;
if(srcElem.tagName != "TR") return;
if (srcElem.rowIndex > 0)
hilite(srcElem);
else
hilite(-1);
}
//******************************************************
//onMouseOut
//******************************************************
function onMouseOut()
{
// Make sure we catch exit from the table
hilite(-1, -1);
}
//******************************************************
//hilite
//******************************************************
function hilite(newRow)
{
if (hlColor != null )
{
if (currRow != -1 && currRow!=selRow)
{
currRow.runtimeStyle.backgroundColor = '';
}
if (newRow != -1 && newRow!=selRow)
{
newRow.runtimeStyle.backgroundColor = hlColor;
}
}
currRow = newRow;
}
//******************************************************
// sort
//
// global variables
//
//******************************************************
var tbody=null;
var theadrow=null;
var colCount = null;
var lastclick = -1; // stores the object of our last used object
var arrHitTest = new Array();
var bDragMode = false;
var objDragItem;
var arrHitTest = new Array();
var iArrayHit = false;
//******************************************************
//init
//******************************************************
function init() {
// get TBODY - take the first TBODY for the table to sort
tbody = element.tBodies(0);
if (!tbody) return;
//Get THEAD
var thead = element.tHead;
if (!thead) return;
theadrow = thead.children[0]; //Assume just one Head row
if (theadrow.tagName != "TR") return;
//theadrow.runtimeStyle.cursor = "hand";
colCount = theadrow.children.length;
var l, clickCell;
var cx=0;
var cy=0;
var c;
for (var i=0; i<colCount; i++)
{
clickCell = theadrow.children[i];
clickCell.selectIndex = i;
clickCell.attachEvent("onclick", doClick);
}
}
//******************************************************
//doClick
//******************************************************
function doClick(e)
{
var clickObject = e.srcElement;
var iFlg = null;
while (clickObject.tagName != "TD")
{
clickObject = clickObject.parentElement;
}
iFlg = 1;
var buttonflg;
buttonflg = ""
if (clickObject.selectIndex=="0") {
buttonflg="1";
} else if (clickObject.selectIndex=="1") {
buttonflg="2";
} else if (clickObject.selectIndex=="2") {
buttonflg="3";
} else if (clickObject.selectIndex=="4") {
buttonflg="4";
} else if (clickObject.selectIndex=="6") {
buttonflg="5";
}
if (buttonflg!="") {
insertionSort(tbody,tbody.rows.length-1,buttonflg);
}
}
//******************************************************
//formatNumtoStr
//******************************************************
function formatNumtoStr(Num){
var newNum
var i
var iCount
var iTemp
var iTempResult
var newNumResult
newNum = Num
for (i=0;i<=4;i++){
newNum = newNum.replace(" ","")
newNum = newNum.replace(" ","")
newNum = newNum.replace(",","")
}
newNumResult="-"
if (newNum.substr(0,1)=="-"){
for(i=1;i<=newNum.length-1;i++){
iTemp = newNum.substr(i,1)
if (iTemp=="0"){
iTempResult = "A"
}else{
iTempResult = 10-iTemp
}
newNumResult = newNumResult + iTempResult
}
newNum = newNumResult
}
if (newNum.length != 13){
iCount = 13-newNum.length
for (i=0;i<=iCount-1;i++){
newNum = "0" + newNum
}
}
return newNum
}
//******************************************************
//insertionSort
//******************************************************
function insertionSort(t,iRowEnd,buttonflg){
//var st = new Date();
var strArray;
var strResultArray;
var iMoveArray;
var intPointArray
var strCurrent;
var strInsert;
var strLast;
strArray = new Array();
strResultArray = new Array();
intPointArray = new Array();
for (i=0;i<=tbody.rows.length-1;i++){
//asp
if ((t.children[i].children[0].innerText == " " ) &&
(t.children[i].children[1].innerText == " " ) &&
(t.children[i].children[2].innerText == " " ) &&
(t.children[i].children[4].innerText == " " ) &&
(t.children[i].children[6].innerText == " ")){
break;
}
if( typeof(t.children[i]) != "undefined") {
if (buttonflg == "1"){
strArray.push(t.children[i].children[0].innerText
+ t.children[i].children[1].innerText
+ t.children[i].children[2].innerText
+ t.children[i].children[4].innerText
+ formatNumtoStr(t.children[i].children[6].innerText));
} else if (buttonflg == "2"){
strArray.push(t.children[i].children[1].innerText
+ t.children[i].children[0].innerText
+ t.children[i].children[2].innerText
+ t.children[i].children[4].innerText
+ formatNumtoStr(t.children[i].children[6].innerText));
} else if (buttonflg == "3"){
strArray.push(t.children[i].children[2].innerText
+ t.children[i].children[0].innerText
+ t.children[i].children[1].innerText
+ t.children[i].children[4].innerText
+ formatNumtoStr(t.children[i].children[6].innerText));
} else if (buttonflg == "4"){
strArray.push(t.children[i].children[4].innerText
+ t.children[i].children[0].innerText
+ t.children[i].children[1].innerText
+ t.children[i].children[2].innerText
+ formatNumtoStr(t.children[i].children[6].innerText));
} else {
strArray.push(formatNumtoStr(t.children[i].children[6].innerText)
+ t.children[i].children[0].innerText
+ t.children[i].children[1].innerText
+ t.children[i].children[2].innerText
+ t.children[i].children[4].innerText);;
}
strResultArray.push(strArray[i]);
} else {
strArray.push("");
strResultArray.push("");
}
intPointArray.push(0);
}
//数据sort
strResultArray.sort();
//移动行(核心算法)
for (i=0;i<=strResultArray.length-1;i++){
iMoveArray = new Array();
strCurrent = strResultArray[strArray.length-1-i];
if (strLast!=strCurrent){
for (j=0;j<=iRowEnd;j++){
strInsert = strArray[j];
if (strCurrent == strInsert){
iMoveArray.push(j + intPointArray[j]);
for (n=0;n<=j-1;n++){
intPointArray[n] = intPointArray[n] + 1;
}
}
}
for(m=0;m<=iMoveArray.length-1;m++){
eRowInsert = t.children[iMoveArray[m]];
eRowWalk = t.children[0];
t.insertBefore(eRowInsert, eRowWalk);
}
strLast = strCurrent;
}
}
}
</script>