📄 table_nly.txt
字号:
/////////////////////////////////////////////////////////////////////
// 20040218
/////////////////////////////////////////////////////////////////////
// 1. 为表格增加一行 TableObject_InsertRow
// ( Proc_Table_InsertRow )
// 2. 删除多行 Proc_Table_DeleteRow
//
//
/////////////////////////////////////////////////////////////////////
// 宁立宇 20040305
function TableObject( theTable )
{
this.tableid = theTable;
this.table = null;
this.FirstTR = null;
this.FirstTRArray = null;
this.colnum = 0;
this.init = TableObject_Init;
this.insertRow = TableObject_InsertRow;
this.columnAttributes ;
this.init();
this.setColumnAttributes = TableObject_SetColumnAttributes;
this.getColumnAttributes = TableObject_GetColumnAttributes;
}
function TableObject_SetColumnAttributes(theArrayList)
{
this.columnAttributes = theArrayList;
}
function TableObject_GetColumnAttributes( )
{
return this.columnAttributes ;
}
function TableObject_Init()
{
this.table = document.getElementById( this.tableid );
this.FirstTR = this.table.rows(1);
this.colnum = this.FirstTR.cells.length;
this.FirstTRArray = new Array( this.colnum + 1 );
var i=0;
for(i=0;i<this.colnum;i++)
{
this.FirstTRArray[i] = this.FirstTR.cells[i].innerHTML;
}
}
//为表格增加一行
function Proc_Table_InsertRow( theTableObj )
{
row = theTableObj.table.insertRow();
var cell;
for(i=0;i<theTableObj.colnum;i++)
{
cell = row.insertCell();
cell.innerHTML = theTableObj.FirstTRArray[i];
}
}
// 宁立宇 20040305 带复选框的增加一行
function Proc_Table_InsertRowCheckBox( theTableObj )
{
row = theTableObj.table.insertRow();
var cell;
for(i=0;i<theTableObj.colnum;i++)
{
cell = row.insertCell();
cell.innerHTML = theTableObj.FirstTRArray[i];
}
checkelement = row.cells[0].all.tags("INPUT").item(0).checked = false;
}
var rowIndex;
var cellIndex;
var preTR;
var curTR;
var trnum;
//删除多行
function Proc_Table_DeleteRow( theTable)
{
var rownum = theTable.table.rows.length;
for(i=rownum-1;i>0;i--)
{
inn=theTable.table.rows[i].cells[0].innerHTML;
inn = inn.toLowerCase();
var boo = inn.search( "checked");
if(boo>0)
{
if(i==1){
alert("您不能删除第一个数据行!");
}
else{
theTable.table.deleteRow(i);
}
}
}
}
var moverowIndex;
var trElement;
var pre;
var unclicktr;
var clicktr;
//用于添加删除的鼠标移动
function Event_Table_Onmousemove()
{
var theElement = window.event.srcElement;
var tagName = theElement.tagName;
var moverowIndex;
if( tagName == "TD" )
{
tr = theElement.parentElement;
moverowIndex = tr.rowIndex;//当前第几行
var check=tr.cells[0].innerHTML;
check = check.toLowerCase();
var boo = check.search( "checked");
if(moverowIndex!=0){
if(pre != null&&pre!=clicktr){
pre.style.backgroundColor="#FFFFFF";
}
/*if(pre==unclicktr){
pre.style.backgroundColor="#FFFFFF";
}*/
if(boo>0){
tr.style.backgroundColor="#85C0E0"
}
else{
tr.style.backgroundColor="#cccccc";
pre = tr;
}
}
}
}
//普通表格的鼠标移动
function Event_Table_OnmousemoveOne()
{
var theElement = window.event.srcElement;
var tagName = theElement.tagName;
var moverowIndex;
if( tagName == "TD" )
{
tr = theElement.parentElement;
moverowIndex = tr.rowIndex;
if(moverowIndex != 0&&moverowIndex !=rowIndex ){
if( pre != null &&pre!=preTR)
{
pre.style.backgroundColor="#FFFFFF";
}
tr.style.backgroundColor="#cccccc"
pre = tr;
}
}
}
var sort_col;
// 宁立宇 20040305
function Event_Table_OnClick()
{
var theElement = window.event.srcElement;
var checkelement;
if(document.all)
{
var tagName = theElement.tagName;
if( tagName == "TD" )
{
trElement = theElement.parentElement;
//the_table=theElement.parentElement.parentElement;
rowIndex = trElement.rowIndex;
cellIndex = theElement.cellIndex;
var check=trElement.cells[0].innerHTML;
check = check.toLowerCase();
var boo = check.search( "checked");
if( rowIndex != 0 )//不是第一行表头
{
checkelement = trElement.cells[0].all.tags("INPUT").item(0);
if(boo>=0)
{
trElement.style.backgroundColor="#ffffff";
checkelement.checked = false;
unclicktr = trElement;
}
else
{
trElement.style.backgroundColor="#85C0E0";
checkelement.checked = true;
clicktr = trElement;
}
}
}
}
}
//带复选框的选中多行
//mod: 这个程序有问题:innerHTML ="<input name=checkbox type=che
// 应修正,暂时取消此功能
function Event_Table_OnClickTmp20040305()
{
var theElement = window.event.srcElement;
if(document.all)
{
var tagName = theElement.tagName;
if( tagName == "TD" )
{
trElement = theElement.parentElement;
//the_table=theElement.parentElement.parentElement;
rowIndex = trElement.rowIndex;
cellIndex = theElement.cellIndex;
var check=trElement.cells[0].innerHTML;
check = check.toLowerCase();
var boo = check.search( "checked");
if( rowIndex != 0 )//不是第一行表头
{
if(boo>=0)
{
trElement.style.backgroundColor="#ffffff";
trElement.cells[0].innerHTML ="<input name=checkbox type=checkbox class=checkbox value=checkbox>"
unclicktr = trElement;
}
else
{
trElement.style.backgroundColor="#85C0E0";
trElement.cells[0].innerHTML ="<input name=checkbox type=checkbox class=checkbox value=checkbox checked=true>"
clicktr = trElement;
}
}
}
}
}
//普通表格的选中单行
function Event_Table_OnClickOne()
{
var theElement = window.event.srcElement;
if(document.all)
{
// 元素标记名
var tagName = theElement.tagName;
//var id = theElement.id;
if( tagName == "TD" )
{
parentElement = theElement.parentElement;
var the_table = get_Element(theElement,"table");
rowIndex = parentElement.rowIndex;
cellIndex = theElement.cellIndex;
if( rowIndex != 0 )
{
if( preTR != null )
{
preTR.style.backgroundColor="#FFFFFF";
}
parentElement.style.backgroundColor="#85C0E0";
preTR = parentElement;
}
/**
else{//单击表头
theElement.mode = !theElement.mode;
if(sort_col!=null){
with(the_table.rows[0].cells[sort_col])
removeChild(lastChild);
}
with(the_table.rows[0].cells[cellIndex])
appendChild(theElement.mode?arrowUp:arrowDown);
sort_tab(the_table,cellIndex,theElement.mode);
sort_col=cellIndex;
}
*/
}
}
}
//普通表格的选中单行
function Event_Table_OnClickOne_Caller( theCaller )
{
var theElement = window.event.srcElement;
if(document.all)
{
// 元素标记名
var tagName = theElement.tagName;
//var id = theElement.id;
if( tagName == "TD" )
{
parentElement = theElement.parentElement;
var the_table = get_Element(theElement,"table");
rowIndex = parentElement.rowIndex;
cellIndex = theElement.cellIndex;
theCaller.doSelect( rowIndex, cellIndex );
if( rowIndex != 0 )
{
if( preTR != null )
{
preTR.style.backgroundColor="#FFFFFF";
}
parentElement.style.backgroundColor="#85C0E0";
preTR = parentElement;
}
/**
else{//单击表头
theElement.mode = !theElement.mode;
if(sort_col!=null){
with(the_table.rows[0].cells[sort_col])
removeChild(lastChild);
}
with(the_table.rows[0].cells[cellIndex])
appendChild(theElement.mode?arrowUp:arrowDown);
sort_tab(the_table,cellIndex,theElement.mode);
sort_col=cellIndex;
}
**/
}
}
}
arrowUp = document.createElement("SPAN");//创建标签为<SPAN>的元素
arrowUp.innerHTML = "5";//为创建的元素赋值
arrowUp.style.cssText = "PADDING-RIGHT: 0px; MARGIN-TOP: -3px; PADDING-LEFT: 0px; FONT-SIZE: 10px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 2px; OVERFLOW: hidden; WIDTH: 10px; COLOR: blue; PADDING-TOP: 0px; FONT-FAMILY: webdings; HEIGHT: 11px";
//为创建的元素定义属性类型
//同理创建第二个标签为<SPAN>的元素
arrowDown = document.createElement("SPAN");
arrowDown.innerHTML = "6";
arrowDown.style.cssText = "PADDING-RIGHT: 0px; MARGIN-TOP: -3px; PADDING-LEFT: 0px; FONT-SIZE: 10px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 2px; OVERFLOW: hidden; WIDTH: 10px; COLOR: blue; PADDING-TOP: 0px; FONT-FAMILY: webdings; HEIGHT: 11px";
function sort_tab(the_tab,col,mode){
var tab_arr = new Array();
var i;
var start=new Date;
for(i=1;i<the_tab.rows.length;i++){
tab_arr.push(new Array(the_tab.rows[i].cells[col].innerText.toLowerCase(),the_tab.rows[i]));
}
function SortArr(mode) {
return function (arr1, arr2){
var flag;
var a,b;
a = arr1[0];
b = arr2[0];
if(/^(\+|-)?\d+($|\.\d+$)/.test(a) && /^(\+|-)?\d+($|\.\d+$)/.test(b)){
a=eval(a);
b=eval(b);
flag=mode?(a>b?1:(a<b?-1:0)):(a<b?1:(a>b?-1:0));
}else{
a=a.toString();
b=b.toString();
if(a.charCodeAt(0)>=19968 && b.charCodeAt(0)>=19968){
flag = judge_CN(a,b,mode);
}else{
flag=mode?(a>b?1:(a<b?-1:0)):(a<b?1:(a>b?-1:0));
}
}
return flag;
};
}
tab_arr.sort(SortArr(mode));
for(i=0;i<tab_arr.length;i++){
the_tab.lastChild.appendChild(tab_arr[i][1]);
}
window.status = " (Time spent: " + (new Date - start) + "ms)";
}
function judge_CN(char1,char2,mode){
var charSet=charMode?charPYStr:charBHStr;
for(var n=0;n<(char1.length>char2.length?char1.length:char2.length);n++){
if(char1.charAt(n)!=char2.charAt(n)){
if(mode) return(charSet.indexOf(char1.charAt(n))>charSet.indexOf(char2.charAt(n))?1:-1);
else return(charSet.indexOf(char1.charAt(n))<charSet.indexOf(char2.charAt(n))?1:-1);
break;
}
}
return(0);
}
function get_Element(the_ele,the_tag){
the_tag = the_tag.toLowerCase(); //toLowerCase的功能:大写转换为小写
if(the_ele.tagName.toLowerCase()==the_tag)return the_ele;
while(the_ele=the_ele.offsetParent){
if(the_ele.tagName.toLowerCase()==the_tag)return the_ele;
}
return(null);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -