//移动Table中的行
function moveRows(tablebody,startIndex,pos)
{
var tablerows = tablebody.rows;
var curr_id = tablerows[startIndex].getAttribute('id');
var next_id = tablerows[startIndex+pos].getAttribute('id');
tablerows[startIndex].setAttribute('id',next_id);
tablerows[startIndex+pos].setAttribute('id',curr_id);
tablebody.insertBefore(tablerows[startIndex],tablerows[startIndex+pos]);
}
//升序排列
function sortTableByAsc(tbody_id,cols_index)
{
var tablebody = document.getElementById(tbody_id);
var tablerows = tablebody.rows;
for(var i=0;i<tablebody.rows.length-1;i++)
{
var lastIndex=0;
var testValue1=deleteSpecialStr(tablerows[i].cells[cols_index].innerHTML+"");
var tempValue;
for(var j=i+1;j<tablebody.rows.length;j++)
{
var testValue2=deleteSpecialStr(tablerows[j].cells[cols_index].innerHTML+"");
if(testValue1>testValue2)
{
testValue1=testValue2;
lastIndex=j;
}
}
if(lastIndex>0)
{
for(var index=lastIndex;index>i;index--)
{
moveRows(tablebody,index,-1);
}
}
}
changeSortFlagImg(cols_index,0);
setTDClass(tablebody);
}
//降序排列
function sortTableByDesc(tbody_id,cols_index)
{
var tablebody = document.getElementById(tbody_id);
var tablerows = tablebody.rows;
for(var i=0;i<tablebody.rows.length-1;i++)
{
var lastIndex=0;
var testValue1=deleteSpecialStr(tablerows[i].cells[cols_index].innerHTML+"");
var tempValue;
for(var j=i+1;j<tablebody.rows.length;j++)
{
var testValue2=deleteSpecialStr(tablerows[j].cells[cols_index].innerHTML+"");
if(testValue1<testValue2)
{
testValue1=testValue2;
lastIndex=j;
}
}
if(lastIndex>0)
{
for(var index=lastIndex;index>i;index--)
{
moveRows(tablebody,index,-1);
}
}
}
changeSortFlagImg(cols_index,1);
setTDClass(tablebody);
}
//删除无效的字符
function deleteSpecialStr(str)
{
var reg=new RegExp("<.+?>","g");
str=str.replace(reg,"");
str=str.replace(new RegExp(",","g"),"");
str=str.replace(new RegExp("%","g"),"");
if(str.indexOf("(")>-1)
{
str=str.substring(0,str.indexOf("("));
}
if(isNaN(Number(str)))
{
return str;
}
else
{
return Number(str);
}
}
var beforeImgId=0;
//改变排序的显示图片
function changeSortFlagImg(colIndex,flag)
{
var downImgId="sort_img_"+colIndex+"_2";
var upImgId="sort_img_"+colIndex+"_1";
var upImgObj=document.getElementById(upImgId);
var downImgObj=document.getElementById(downImgId);
if(flag==1)
{
upImgObj.src="images/gray_up_arrow.gif";
downImgObj.src="images/red_down_arrow.gif";
}
else
{
upImgObj.src="images/red_up_arrow.gif";
downImgObj.src="images/gray_down_arrow.gif";
}
if(Number(beforeImgId)!=Number(colIndex))
{
var beforeUpImgId="sort_img_"+beforeImgId+"_1"
var beforeDownImgId="sort_img_"+beforeImgId+"_2"
var beforeUpImgObj=document.getElementById(beforeUpImgId);
var beforeDownImgObj=document.getElementById(beforeDownImgId);
if(beforeUpImgObj&&beforeDownImgObj)
{
beforeUpImgObj.src="images/gray_up_arrow.gif";
beforeDownImgObj.src="images/gray_down_arrow.gif";
}
}
beforeImgId=colIndex;
}
//改变TD的样式
function setTDClass(obj)
{
var rowObj=obj.rows;
for(var i=0;i<rowObj.length;i++)
{
var tdclass="l_Content1";
if(i%2==0)
{
tdclass="l_Content2";
}
for(var j=0;j<rowObj[i].cells.length;j++)
{
var classNameValue=rowObj[i].cells[j].className;
if(classNameValue.indexOf("_b")>-1)
{
rowObj[i].cells[j].innerHTML="<b>"+rowObj[i].cells[j].innerHTML+"</b>";
}
rowObj[i].cells[j].className=tdclass;
if(rowObj[i].name&&rowObj[i].name.indexOf("#")>-1)
{
rowObj[i].cells[j].style.backgroundColor=rowObj[i].name;
}
}
}
}
/**
* 比较函数
* param1>param2 return 1
* param1==param2 return 0
* param1<param2 return -1
*/
function compareFunc(param1,param2)
{
//2个参数都是字符串,取第一个字符比较
if(isNaN(param1)&&isNaN(param2))
{
param1=param1.trim().substring(0,1);
param2=param2.trim().substring(0,1);
return param1.localeCompare(param2);
}
//param1 数字; param2 字符串
if(!isNaN(param1)&&isNaN(param2))
{
return -1;
}
//param1 字符串; param2 数字
if(!isNaN(param2)&&isNaN(param1))
{
return 1;
}
//2个参数都是数字
if(!isNaN(param1)&&!isNaN(param2))
{
if(Number(param1)>Number(param2)) return 1;
if(Number(param1)==Number(param2)) return 0;
if(Number(param1)<Number(param2)) return -1;
}
}
function moveRows(tablebody,startIndex,pos)
{
var tablerows = tablebody.rows;
var curr_id = tablerows[startIndex].getAttribute('id');
var next_id = tablerows[startIndex+pos].getAttribute('id');
tablerows[startIndex].setAttribute('id',next_id);
tablerows[startIndex+pos].setAttribute('id',curr_id);
tablebody.insertBefore(tablerows[startIndex],tablerows[startIndex+pos]);
}
//升序排列
function sortTableByAsc(tbody_id,cols_index)
{
var tablebody = document.getElementById(tbody_id);
var tablerows = tablebody.rows;
for(var i=0;i<tablebody.rows.length-1;i++)
{
var lastIndex=0;
var testValue1=deleteSpecialStr(tablerows[i].cells[cols_index].innerHTML+"");
var tempValue;
for(var j=i+1;j<tablebody.rows.length;j++)
{
var testValue2=deleteSpecialStr(tablerows[j].cells[cols_index].innerHTML+"");
if(testValue1>testValue2)
{
testValue1=testValue2;
lastIndex=j;
}
}
if(lastIndex>0)
{
for(var index=lastIndex;index>i;index--)
{
moveRows(tablebody,index,-1);
}
}
}
changeSortFlagImg(cols_index,0);
setTDClass(tablebody);
}
//降序排列
function sortTableByDesc(tbody_id,cols_index)
{
var tablebody = document.getElementById(tbody_id);
var tablerows = tablebody.rows;
for(var i=0;i<tablebody.rows.length-1;i++)
{
var lastIndex=0;
var testValue1=deleteSpecialStr(tablerows[i].cells[cols_index].innerHTML+"");
var tempValue;
for(var j=i+1;j<tablebody.rows.length;j++)
{
var testValue2=deleteSpecialStr(tablerows[j].cells[cols_index].innerHTML+"");
if(testValue1<testValue2)
{
testValue1=testValue2;
lastIndex=j;
}
}
if(lastIndex>0)
{
for(var index=lastIndex;index>i;index--)
{
moveRows(tablebody,index,-1);
}
}
}
changeSortFlagImg(cols_index,1);
setTDClass(tablebody);
}
//删除无效的字符
function deleteSpecialStr(str)
{
var reg=new RegExp("<.+?>","g");
str=str.replace(reg,"");
str=str.replace(new RegExp(",","g"),"");
str=str.replace(new RegExp("%","g"),"");
if(str.indexOf("(")>-1)
{
str=str.substring(0,str.indexOf("("));
}
if(isNaN(Number(str)))
{
return str;
}
else
{
return Number(str);
}
}
var beforeImgId=0;
//改变排序的显示图片
function changeSortFlagImg(colIndex,flag)
{
var downImgId="sort_img_"+colIndex+"_2";
var upImgId="sort_img_"+colIndex+"_1";
var upImgObj=document.getElementById(upImgId);
var downImgObj=document.getElementById(downImgId);
if(flag==1)
{
upImgObj.src="images/gray_up_arrow.gif";
downImgObj.src="images/red_down_arrow.gif";
}
else
{
upImgObj.src="images/red_up_arrow.gif";
downImgObj.src="images/gray_down_arrow.gif";
}
if(Number(beforeImgId)!=Number(colIndex))
{
var beforeUpImgId="sort_img_"+beforeImgId+"_1"
var beforeDownImgId="sort_img_"+beforeImgId+"_2"
var beforeUpImgObj=document.getElementById(beforeUpImgId);
var beforeDownImgObj=document.getElementById(beforeDownImgId);
if(beforeUpImgObj&&beforeDownImgObj)
{
beforeUpImgObj.src="images/gray_up_arrow.gif";
beforeDownImgObj.src="images/gray_down_arrow.gif";
}
}
beforeImgId=colIndex;
}
//改变TD的样式
function setTDClass(obj)
{
var rowObj=obj.rows;
for(var i=0;i<rowObj.length;i++)
{
var tdclass="l_Content1";
if(i%2==0)
{
tdclass="l_Content2";
}
for(var j=0;j<rowObj[i].cells.length;j++)
{
var classNameValue=rowObj[i].cells[j].className;
if(classNameValue.indexOf("_b")>-1)
{
rowObj[i].cells[j].innerHTML="<b>"+rowObj[i].cells[j].innerHTML+"</b>";
}
rowObj[i].cells[j].className=tdclass;
if(rowObj[i].name&&rowObj[i].name.indexOf("#")>-1)
{
rowObj[i].cells[j].style.backgroundColor=rowObj[i].name;
}
}
}
}
/**
* 比较函数
* param1>param2 return 1
* param1==param2 return 0
* param1<param2 return -1
*/
function compareFunc(param1,param2)
{
//2个参数都是字符串,取第一个字符比较
if(isNaN(param1)&&isNaN(param2))
{
param1=param1.trim().substring(0,1);
param2=param2.trim().substring(0,1);
return param1.localeCompare(param2);
}
//param1 数字; param2 字符串
if(!isNaN(param1)&&isNaN(param2))
{
return -1;
}
//param1 字符串; param2 数字
if(!isNaN(param2)&&isNaN(param1))
{
return 1;
}
//2个参数都是数字
if(!isNaN(param1)&&!isNaN(param2))
{
if(Number(param1)>Number(param2)) return 1;
if(Number(param1)==Number(param2)) return 0;
if(Number(param1)<Number(param2)) return -1;
}
}