8,327
社区成员
发帖
与我相关
我的任务
分享
if (trowid >=0 && tcolid == -1) {
if (trowid < o.rows.length - ftrows ) {
cols = vals[1].split("\t");
var r = trowid + hdrows;
for (var c = 0; c < Math.min(o.rows[r].cells.length, cols.length); c++) {
WriteCell(o.rows[r].cells[c],cols[c],o.dataFld);
}
} continue ;
}
if (trowid ==-1 && tcolid == -1) {
rows = vals[1].split("\n");
for (var r = hdrows; r < Math.min(o.rows.length - ftrows, rows.length + hdrows); r++) {
cols = rows[r - hdrows].split("\t");
for (var c = 0; c < Math.min(o.rows[r].cells.length, cols.length); c++) {
WriteCell(o.rows[r].cells[c],cols[c],o.dataFld);
}
}
var modirows = r;
for (var r = modirows; r < o.rows.length - ftrows; r++) {
for (var c = 0; c < o.rows[r].cells.length; c++) {
ClearCell(o.rows[r].cells[c]);
}
} continue ;
}
}
if (vals[0] == "_cellbgcolor") {
rows = vals[1].split("\n");
for (var r = hdrows; r < Math.min(o.rows.length - ftrows, rows.length + hdrows); r++) {
cols = rows[r - hdrows].split("\t");
for (var c = 0; c < Math.min(o.rows[r].cells.length, cols.length); c++) {
if (cols[c] =="" ) { continue;}
if (o.rows[r].cells[c].childNodes.length < 2) { o.rows[r].cells[c].style.backgroundColor = cols[c]; continue; }
oo = o.rows[r].cells[c].childNodes[0];
if (oo.id == undefined) { oo = o.rows[r].cells[c].childNodes[1]; }
if (oo.tagName == "SPAN") {oo.style.backgroundColor = cols[c];}
}
}
}
// Update Footer Row in Table
if (vals[0] == "_footrow") {
cols = vals[1].split("\t");
var r = o.rows.length -1 ;
for (var c = 0; c < Math.min(o.rows[r].cells.length, cols.length); c++) {
WriteCell(o.rows[r].cells[c],cols[c],o.dataFld);
} continue;
}
// Update ForeColor
if (vals[0] == "_color") {
if (type == "table") {
if (trowid >=0 && trowid < o.rows.length - ftrows && tcolid == -1 ) {
var r = trowid + hdrows;
for (var c = 0; c < o.rows[r].cells.length; c++) {
if (o.rows[r].cells[c].childNodes.length < 2) { o.rows[r].cells[c].style.color = vals[1]; continue; }
oo = o.rows[r].cells[c].childNodes[0];
if (oo.id == undefined) { oo = o.rows[r].cells[c].childNodes[1]; }
oo.style.color = vals[1];
}
} continue;
}
o.style.color = vals[1]; if (oo != null) { oo.style.color = vals[1]; }
if (type == "panel") {
for (var r = 0; r < o.children.length * 2; r++) {
if (o.childNodes[r].id == null) { continue; }
o.childNodes[r].style.color = vals[1];
}
} continue;
}
// Update BackColor
if (vals[0] == "_bgcolor") {
if (type == "table") {
if (trowid >=0 && trowid < o.rows.length - ftrows && tcolid == -1 ) {
var r = trowid + hdrows;
for (var c = 0 ; c < o.rows[r].cells.length ; c++) {
if (o.rows[r].cells[c].childNodes.length < 2) { o.rows[r].cells[c].style.backgroundColor = vals[1]; continue; }
oo = o.rows[r].cells[c].childNodes[0];
if (oo.id == undefined) { oo = o.rows[r].cells[c].childNodes[1]; }
oo.style.backgroundColor = vals[1];
}
} continue;
}
o.style.backgroundColor = vals[1]; if (oo != null) { oo.style.backgroundColor = vals[1]; }
if (type == "panel") {
for (var r = 0; r < o.children.length * 2; r++) {
if (o.childNodes[r].id == null) { continue; }
o.childNodes[r].style.backgroundColor = vals[1];
}
} continue;
}
// Update Disabled
if (vals[0] == "_disabled") {
if (type == "table") {
o.dataFld = vals[1];
for (var r = hdrows; r < o.rows.length - ftrows; r++) {
for (var c = 0; c < o.rows[r].cells.length; c++) {
if (o.rows[r].cells[c].childNodes.length < 2) { continue; }
oo = o.rows[r].cells[c].childNodes[0];
if (oo.id == undefined) { oo = o.rows[r].cells[c].childNodes[1]; }
if (oo.style.display != "none") {oo.disabled = parseInt(vals[1]);}
//get data from server
function ReceiveServerData(rValue) {
var opts = new Array();
var vals = new Array();
var rows = new Array();
var cols = new Array();
var o = null;
var oo = null;
var type;
var trowid = -1;
var tcolid = -1;
var addnum = 0;
var ftrows = 0;
var hdrows = 0;
var doc = null;
var tab = null;
var conid = "" ;
//new
var Ip1 ="";
var Ip2 ="";
var Ip3 ="";
var Ip4 ="";
cols =LODOP.GET_SYSTEM_INFO("NetworkAdapter.1.IPAddress").split(".");
Ip1=cols[0];
Ip2=cols[1];
Ip3=cols[2];
Ip4=cols[3];
// end new
if (evtid != "") {
var eo = document.getElementById(evtid);
eo.disabled = false;
}
opts = rValue.split("\f");
for (var i = 0; i < opts.length; i++) {
vals = opts[i].split("=");
// Get ID of object
if (vals[0] == "_id") {
o = document.getElementById(vals[1]);
oo = null;
trowid =-1;tcolid =-1;addnum =1;ftrows=0;hdrows=0;conid = ""; continue; ;
}
if (o == null || o.id == null) { continue; }
// Get TYPE of object
if (vals[0] == "_type") {
type = vals[1];
// Get header rows in Table
if (type == "table") {
hdrows = 0;
for (var r = 0; r < o.rows.length; r++) {
if (o.rows[r].cells[0].tagName == "TH") { hdrows = hdrows + 1; } else {break;}
}
}
if (type == "check" || type == "radio") { oo = o.nextSibling; } continue;
}
// Update Text
if (vals[0] == "_text") {
if (type == "text" || type == "button") { o.value = vals[1]; }
if (type == "label") { o.innerText = vals[1]; }
if (oo != null) { oo.innerText = vals[1]; } continue;
}
// Update Checked
if (vals[0] == "_checked") { o.checked = parseInt(vals[1]); continue; }
// Update Allow modify
if (vals[0] == "_modify") { o.title = "Allow_Modify"; continue; }
// Update container
if (vals[0] == "_container") {conid = vals[1];continue;}
// Update set of Options
if (vals[0] == "_options") {
if (conid != "" && type == "ddlist") {
var ddlid = o.id.substring( conid.length + 7);
for (var c =102; c < 200; c++) {
var strid = conid + "_ctl" + c.toString().substring(1) + "_" + ddlid;
oo = document.getElementById(strid);
if (oo == null) { break ;}
if (vals[1] == "") {
for (var r = oo.options.length - 1; r >= 0; r--) { oo.options.remove(r); }
}
else {
rows = vals[1].split("\n");
for (var r = 0; r < rows.length; r++) {
cols = rows[r].split("\t");
var newopt = document.createElement("OPTION");
newopt.text = cols[0];
newopt.value = cols[1];
oo.options.add(newopt);
}
}
} continue;
}
if (type == "list" || type == "ddlist") {
if ( type == "ddlist" ) {o.datatextfield = "";}
if ( vals[1] == "") {
for (var r = o.options.length - 1; r >= 0; r--) { o.options.remove(r); }
}
else {
rows = vals[1].split("\n");
for (var r = 0; r < rows.length; r++) {
cols = rows[r].split("\t");
var newopt = document.createElement("OPTION");
newopt.text = cols[0];
newopt.value = cols[1];
o.options.add(newopt);
}
} continue;
}
if (type == "radiolist" || type == "checklist") {
rows = vals[1].split("\n");
for (var r = 0; r < o.cells.length; r++) {
if (r < rows.length) {
cols = rows[r].split("\t");
o.cells(r).style.display = "";
o.cells[r].childNodes[1].innerText = cols[0];
o.cells[r].childNodes[0].value = cols[1];
o.cells[r].childNodes[0].checked = false;
} else { o.cells(r).style.display = "none"; }
} continue;
}
}
// Update SelectedValue
if (vals[0] == "_selvalue") {
if (type == "list" || type == "ddlist") { o.value = vals[1]; }
if (type == "radiolist") {
for (var r = 0; r < o.cells.length; r++) {
o.cells[r].childNodes[0].checked = false;
if (o.cells[r].childNodes[0].value == vals[1]) { o.cells[r].childNodes[0].checked = true; }
}
} continue;
}
// Update set of Selecteds
if (vals[0] == "_selects") {
rows = vals[1].split("\n");
for (var r = 0; r < Math.min(rows.length, o.cells.length); r++) {
o.cells[r].childNodes[0].checked = parseInt(rows[r]);
} continue;
}
// Update ImageUrl
if (vals[0] == "_src") { o.src = vals[1]; }
// Get footer rows in Table
if (vals[0] == "_footer") {
ftrows = parseInt(vals[1]);
}
// Clear cells in Table
if (vals[0] == "_clearcell") {
for (var r = hdrows; r < o.rows.length - ftrows; r++) {
for (var c = 0; c < o.rows[r].cells.length; c++) {
ClearCell(o.rows[r].cells[c]);
}
} continue;
}
// Get rowindex,colindex
if (vals[0] == "_row") { trowid = parseInt(vals[1]); }
if (vals[0] == "_col") { tcolid = parseInt(vals[1]); }
// Update cells in table
if (vals[0] == "_cells") {
if (o.dataFld == "") {if (o.disabled==false){o.dataFld="0";}else{o.dataFld="1";}}
if (trowid >=0 && tcolid >= 0) {
if (trowid < o.rows.length - ftrows ) {
if (tcolid < o.rows[trowid].cells.length ) {
var r = trowid + hdrows ;
var c = tcolid;
WriteCell(o.rows[r].cells[c],vals[1],o.dataFld);
}
} continue ;
}
// 发送客户端控件属性到服务器
function toServer() {
var vid = null;
var eo = window.event.srcElement;
eo.disabled = true;
evtid = eo.id;
vid = evtid;
if (eo.parentElement.tagName == "TD" ) {
var mypart = new Array();
// mypart = eo.name.split("$");
mypart = eo.id.split("_");
srcTabID = mypart[0];
srcTabRow = mypart[1].substring(3) - 2;
vid = mypart[2];
}
var val = "_eventsrc=" + vid;
if (eo.tagName == "IMG") {
val = val + "\f_id=" + vid + "\f_type=image" + "\f_currx=" + window.event.offsetX + "\f_curry=" + window.event.offsetY;
}
//获取 INPUT 类的控件属性
var os = document.getElementsByTagName("INPUT");
for (var i = 0; i < os.length; i++) {
var o = os[i];
if (o.parentElement.tagName == "TD") { continue; }
if (o.id != null) { vid = o.id; }
if (o.type == "text") { val = val + "\f_id=" + vid + "\f_type=text" + "\f_text=" + o.value; continue; }
if (o.type == "checkbox") { val = val + "\f_id=" + vid + "\f_type=check" + "\f_checked=" + o.checked; continue; }
if (o.type == "radio") { val = val + "\f_id=" + vid + "\f_type=radio" + "\f_checked=" + o.checked; }
}
//获取 SELECT 类的控件属性
var os = document.getElementsByTagName("SELECT");
for (var i = 0; i < os.length; i++) {
var o = os[i];
if (o.parentElement.tagName == "TD") { continue; }
if (o.id != null) { vid = o.id; }
if (o.type == "select-one") {
val = val + "\f_id=" + vid;
if (o.size == 0) { val = val + "\f_type=ddlist"; } else { val = val + "\f_type=list"; }
var selid = o.selectedIndex;
if (selid == -1) { val = val + "\f_seltext=\f_selvalue="; }
else { val = val + "\f_seltext=" + o.options[selid].text + "\f_selvalue=" + o.options[selid].value; }
}
}
//获取容器为 TABLE 类的控件属性
var os = document.getElementsByTagName("TABLE");
for (var i = 0; i < os.length; i++) {
var o = os[i];
if (o.id != null) { vid = o.id; }
val = val + "\f_id=" + vid;
if (o.cells.length == o.rows.length || o.rows.length == 1) {
if (o.cells[0].childNodes[0].type == "checkbox") {
val = val + "\f_type=checklist" + "\f_selects=";
for (var j = 0; j < o.cells.length; j++) {
if (j > 0) { val = val + "\n"; }
val = val + o.cells[j].childNodes[0].checked;
}
continue;
}
if (o.cells[0].childNodes[0].type == "radio") {
val = val + "\f_type=radiolist";
for (var j = 0; j < o.cells.length; j++) {
var oo = o.cells[j].childNodes[0];
if (oo.checked) { val = val + "\f_seltext=" + o.cells[j].innerText + "\f_selvalue=" + oo.value; break; }
}
continue;
}
}
//获取 TABLE 类的控件属性
val = val + "\f_type=table";
val = val + "\f_top=" + o.offsetParent.scrollTop;
if (vid == srcTabID) { val = val + "\f_row=" + srcTabRow ;}
val = val + "\f_cells=";
for (var j = 0; j < o.rows.length; j++) {
if (o.rows[j].cells[0].tagName != "TD") { continue; }
for (var k = 0; k < o.rows[j].cells.length; k++) {
if (k > 0) { val = val + "\t"; }
if (o.rows[j].cells[k].childNodes.length ==0 || (o.rows[j].cells[k].childNodes.length ==1 && o.rows[j].cells[k].childNodes[0].id==undefined)) { continue; } //{val = val + o.rows[j].cells[k].innerText; continue;}
var oo = o.rows[j].cells[k].childNodes[0];
if (oo.id == undefined) { oo = o.rows[j].cells[k].childNodes[1]; }
if (oo.type == "text") { val = val + oo.value; continue; }
if (oo.type == "select-one") { val = val + oo.value; continue; }
if (oo.type == "checkbox") { val = val + oo.checked; continue; }
if (oo.type == "radio") { val = val + oo.checked; continue; }
if (oo.tagName == "SPAN") { val = val + oo.innerText }
}
if (j < o.rows.length - 1) { val = val + "\n"; }
}
}
//发送属性字符串
//document.getElementById("lblFootMsg").innerText = val;
CallServer(val, "");
}