?? sys_list.js
字號(hào):
/**
* @author luocp
* ?2004 ThinkerSoft Corporation. All rights reserved
*
* 根據(jù)javascript二維數(shù)組填充表格
*
**/
//用二維數(shù)組充填表格
function TSS_fill_table(tabObj,arr){
if(!_check_ftable_parameter_validity(tabObj,arr))return false;
//get last row String
var fillRow = tabObj.rows(tabObj.rows.length-1);
fillRow.style.display = "";
var fillRowStr = fillRow.outerHTML;
//get title String
tabObj.deleteRow(tabObj.rows.length-1);
var tabTitleStr = tabObj.outerHTML;
tabTitleStr = tabTitleStr.replace("</TABLE>","");
//get fill rows String
fillRowsStr = _fill_ftable_rows(fillRowStr,arr);
tabObj.outerHTML = tabTitleStr + fillRowsStr + "</TABLE>";
}
//check parameter validity
function _check_ftable_parameter_validity(tabObj,arr){
if(arr.length == 0)return false;
if(tabObj.rows.length < 2){
TSS_Error_Msg("TSS_fill_table()","表格"+tabObj.id+"定制有問題,中止解析。") ;
return false;
}
if(typeof(arr["title"]) == "undefined"){
TSS_Error_Msg("TSS_fill_table()","填充表格的數(shù)據(jù)沒有包含 title 數(shù)組或數(shù)據(jù)有誤!");
return false;
}
return true;
}
//get fill rows String
function _fill_ftable_rows(fillRowStr,arr){
var outStr = "";
var varArray = new Array; //all variable
var tempRowStr = fillRowStr;
var tempI = 0; //temp index
var tempVar = "";//temp variable
var errorMsg = false;
while(tempRowStr.length > 1){ //get row all TSS variable
tempI = tempRowStr.indexOf("TSS(");
if(tempI == -1)break;
tempRowStr = tempRowStr.substring(tempI+4);
tempI = tempRowStr.indexOf(")");
if(tempI == -1)break;
tempVar = tempRowStr.substring(0,tempI);
varArray[varArray.length] = tempVar;
tempRowStr = tempRowStr.substring(tempI);
}
// package all TSS value from dbResult variable
for(var i = 0;i < arr.length;i ++){
tempRowStr = fillRowStr;
for(var j = 0;j < varArray.length;j ++){ //package all cells from row
tempVar = varArray[j].split(",");
var tempS = arr[i][arr["title"][tempVar[0]]];
if(typeof(tempS) == "undefined"){
tempS = "TSS("+tempVar+")";
if(!errorMsg)TSS_Error_Msg("TSS_fill_table()","數(shù)據(jù)庫(kù)查詢結(jié)果集中無(wú)包含字段:"+tempVar);
errorMsg = true;
}
if(tempVar.length == 2 && !errorMsg){ //set value in function return value
try{
var tempObj = eval(tempVar[1]);
tempS = tempObj(tempS);
}catch(e){
errorMsg = true;
TSS_Error_Msg("TSS_fill_table()","找不到返回方法"+tempVar[1]+"()");
}
}
// tempS = replaceAll(tempS,"\"","\\\"");
tempRowStr = tempRowStr.replace("TSS("+tempVar+")",tempS);
}
outStr += tempRowStr;
}
return outStr;
}
function TSS_Error_Msg(funName,msg){
var str = "TSS 前端開發(fā)者 錯(cuò)誤提示:\n----------------\n\n"
+ "出錯(cuò)方法:"+funName+"\n錯(cuò)誤信息:"+msg
+ "\n\n----------------\n"
+ "請(qǐng)聯(lián)系管理員或程序開發(fā)人員";
alert(str);
}
/****************************************************************************
TSS TABLE 2.0 (2004 09 11)
與1.0增加了翻頁(yè)功能
*****************************************************************************/
function TSS_fill_table_obj(tabObj,arr){//new TSS TABLE OBJECT
this.init = _TSS_fill_table_init;
this.flip = _TSS_fill_table_page;
this.rowsLength = 0;
this.pageCount = 0;
this.tabObj = tabObj;
this.tabObjId = tabObj.id;
this.data = arr;
if(!_check_ftable_parameter_validity(tabObj,arr))return false;
//get last row String
var fillRow = tabObj.rows(tabObj.rows.length-1);
fillRow.style.display = "";
var fillRowStr = fillRow.outerHTML;
//get title String
tabObj.deleteRow(tabObj.rows.length-1);
var tabTitleStr = tabObj.outerHTML;
tabTitleStr = tabTitleStr.replace("</TABLE>","");
this.fillRowStr = fillRowStr;
this.tabTitleStr = tabTitleStr
}
function _TSS_fill_table_init(rowsLength){//init(rowsLength=每頁(yè)顯示數(shù)量)
if(typeof(rowsLength) != "undefined")
this.rowsLength = rowsLength;
this.flip(1);
}
function _TSS_fill_table_page(index){//flip to now page
if(this.data.length == 0)return;
this.pageCount = index;
var data = new Array;
for(var i = (index-1)*this.rowsLength;(i < index*this.rowsLength && i < this.data.length);i ++){
data[data.length] = this.data[i];
}
data["title"] = this.data["title"];
this.tabObj = eval(this.tabObjId);
this.tabObj.outerHTML = this.tabTitleStr + _fill_ftable_rows(this.fillRowStr,data) + "</TABLE>";
}
function TSS_fill_table_flipString(showObj,objStr,auto){// return flipString
var obj = eval(objStr);
if(obj.rowsLength == 0)
return TSS_Error_Msg("TSS_fill_table_flipString()","在init()的時(shí)候必須定制每頁(yè)顯示條數(shù)例:init(10)");
if(auto){//回調(diào)方法
if(showObj.all("flipSel").value != obj.pageCount)
showObj.all("flipSel").value = obj.pageCount;
}else{
var str = "共"+obj.data.length+"條 每頁(yè)"+obj.rowsLength+"條 ";
var length = parseInt(obj.data.length/obj.rowsLength);
if(obj.data.length%obj.rowsLength != 0)length ++
str += "<select onchange='"+objStr+".flip(this.value)' id=flipSel>";
for(var i =1;i <= length;i++){
/*
if(i != obj.pageCount)
str += "[<a href='javascript:"+objStr+".flip("+i+")'>第"+i+"頁(yè)</a>]";
else
str += "[第"+i+"頁(yè)]";
*/
if(i != obj.pageCount)
str += "<option value="+i+" >第"+i+"頁(yè)</option>";
else
str += "<option value="+i+" selected>第"+i+"頁(yè)</option>";
}
str += "</select>";
showObj.innerHTML = str;
}
setTimeout("TSS_fill_table_flipString("+showObj.id+",'"+objStr+"',true)",500);
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -