且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

利用js动态操作表格行列

更新时间:2022-09-05 22:00:06

/*

*根据传进来的表结构 和相应的列,返回

*/

function getTbValueByCols(obj,colindex)

{

 var str = "";

 for(var i= 0; i < obj.rows.length; i++)

     str += obj.rows[i].cells[colindex].innerHTML+"|";

   

 if(str != "")

   str = str.substr(0,str.length-1);

 return str;

}


/*

*表的相应的列的赋值

*/

function initiTbValueByCols(obj,colindex,arrV)

{

 for(var i= 0; i < obj.rows.length; i++)

 {

    obj.rows[i].cells[colindex].innerHTML=arrV[i];

 }

}

/*

*根据对象 pos:(startP,endP),和第几列 控制合并列

*/

function mergeRow(obj,pos,columnIndex)

{

    var arrPos = pos.split(',');

    var startPos = arrPos[0];

    var endPos = arrPos[1];

    obj.rows[startPos].cells[columnIndex].rowSpan = (endPos-startPos)+1;

    var i = parseInt(startPos)+1;

    for(;i<=endPos; i++)

    {

       Element.hide(obj.rows[i].cells[columnIndex]);

    }

}

/*

*功  能:删除未显示的行

*创建人:

*/

function delHideRows(obj)

{

   var len = obj.rows.length;

   for(var i=len-1; i>-1; i--)

   {

       if(Element.visible(obj.rows[i]) == false)

         Element.remove(obj.rows[i]);

   }

}

/*

*删除表的相应的列的值

*/

function delTbValueByCols(obj,colindex)

{

 for(var i= 0; i < obj.rows.length; i++)

    obj.rows[i].cells[colindex].innerHTML='';

}

/*

*把表的相应的列值 赋给另一个表 某列

*/

function copyTbColsToOtherTbCols(objSource,colIndexSource,objTarget,colIndexTarget)

{  

for(var i=1; i <objSource.rows.length; i++)

 objTarget.rows[i-1].cells[colIndexTarget].innerHTML=trim(objSource.rows[i].cells[colIndexSource].innerHTML);

}

/*

* 把表中指定的列,以数组的形式返回,每一列之间的值 以"|"分割 最后一位是 "|"

*/

function getTbColsValue(obj,cols)

{

  var arr = new Array(obj.rows.length);

  for(var i = 0; i < obj.rows.length; i++)

  {

     for(var j = 0; j < cols.length; j++)

     {

         arr[i] += trim(obj.rows[i].cells[cols[j]].innerHTML) + "|"

     }

     if(arr[i] != null && arr[i] != "")

       arr[i] = arr[i].substr(9);  

  }

  return arr;

}

/*

* 把表中指定的列,以数组的形式返回,每一列之间的值 以"|"分割 最后一位是 "|"

*/

function getTDValue(obj,rowIndex,colsIndex)

{

  var v='';

  try

  {

    v = trim(obj.rows[rowIndex].cells[colsIndex].innerHTML)

  }

  catch(ex)

  {}

  return v;

}

/*

* 把表中指定的列,以数组的形式返回,每一列之间的值 以"|"分割 最后一位是 "|"

*/

function setTDValue(obj,rowIndex,colsIndex,v)

{

  try

  {

    obj.rows[rowIndex].cells[colsIndex].innerHTML=v;

  }

  catch(ex)

  {}

}