📄 sys_list.js
字号:
/**
* @author luocp
* ?2004 ThinkerSoft Corporation. All rights reserved
*
* 根据javascript二维数组填充表格
*
**/
//用二维数组充填表格
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()","填充表格的数据没有包含 title 数组或数据有误!");
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()","数据库查询结果集中无包含字段:"+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 前端开发者 错误提示:\n----------------\n\n"
+ "出错方法:"+funName+"\n错误信息:"+msg
+ "\n\n----------------\n"
+ "请联系管理员或程序开发人员";
alert(str);
}
/****************************************************************************
TSS TABLE 2.0 (2004 09 11)
与1.0增加了翻页功能
*****************************************************************************/
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=每页显示数量)
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()的时候必须定制每页显示条数例:init(10)");
if(auto){//回调方法
if(showObj.all("flipSel").value != obj.pageCount)
showObj.all("flipSel").value = obj.pageCount;
}else{
var str = "共"+obj.data.length+"条 每页"+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+"页</a>]";
else
str += "[第"+i+"页]";
*/
if(i != obj.pageCount)
str += "<option value="+i+" >第"+i+"页</option>";
else
str += "<option value="+i+" selected>第"+i+"页</option>";
}
str += "</select>";
showObj.innerHTML = str;
}
setTimeout("TSS_fill_table_flipString("+showObj.id+",'"+objStr+"',true)",500);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -