web|指令碼|控制項|樣式表 全編輯WebGrid控制項LrcGrid(4)—— 指令碼庫和樣式表
指令碼庫:包含了控制項用戶端操作的函數.包括:
將表格行切換到編輯模式的函數:chgEditRow(rowIndex,tab)()
將表格列切換到編輯模式的函數:chgEdit(colIndex,tab)
在用戶端構造更新資料庫的sql語句: BuildSql(tabName)
添加新記錄的函數:AddRow(tab)
移除新添加行的函數: RemoveRow(tab)
全部js代碼:
function chgEditRow(rowIndex,tab)
{
var tabBody = tab.tBodies[0];
var isE = 0;
//alert(rowIndex);
//alert(tabBody.rows[rowIndex].cells.length);
for(var i = 0;i< tabBody.rows[rowIndex].cells.length;i++)
{
//alert(tabBody.rows[rowIndex].cells[i].childNodes[0].id);
if(tabBody.rows[rowIndex].cells[i].hasChildNodes())
{
if(tabBody.rows[rowIndex].cells[i].childNodes[0].nodeType != 3)
{
if(tabBody.rows[rowIndex].cells[i].childNodes[0].id.indexOf('LrcTb_') != -1)
{
if(!tabBody.rows[rowIndex].cells[i].childNodes[0].disabled)
{
tabBody.rows[rowIndex].cells[i].childNodes[0].disabled = true;
tabBody.rows[rowIndex].cells[i].childNodes[0].className = "lrc_txt_hid";
}
else
{
tabBody.rows[rowIndex].cells[i].childNodes[0].disabled = false;
tabBody.rows[rowIndex].cells[i].childNodes[0].className = "lrc_txt_show";
}
}
else if(tabBody.rows[rowIndex].cells[i].childNodes[0].id.indexOf('LrcDrl_') != -1)
{
if(!tabBody.rows[rowIndex].cells[i].childNodes[0].disabled)
{
tabBody.rows[rowIndex].cells[i].childNodes[0].disabled = true;
}
else
{
tabBody.rows[rowIndex].cells[i].childNodes[0].disabled = false;
}
}
}
}
}
}
function chgEdit(colIndex,tab)
{
var tabBody = tab.tBodies[0];
var oneRow;
if(tabBody.rows[1].cells[colIndex].childNodes[0].disabled)
{
for(var i=1;i<tabBody.rows.length-1;i++)
{
oneRow = tabBody.rows[i];
if(oneRow.cells[colIndex].childNodes[0].id.indexOf('LrcTb_') != -1)
{
oneRow.cells[colIndex].childNodes[0].disabled = false;
oneRow.cells[colIndex].childNodes[0].className = "lrc_txt_show";
}
else if(oneRow.cells[colIndex].childNodes[0].id.indexOf('LrcDrl_') != -1)
{
oneRow.cells[colIndex].childNodes[0].disabled = false;
}
}
}
else
{
for(var i=1;i<tabBody.rows.length-1;i++)
{
oneRow = tabBody.rows[i];
if(oneRow.cells[colIndex].childNodes[0].id.indexOf('LrcTb_') != -1)
{
oneRow.cells[colIndex].childNodes[0].disabled = true;
oneRow.cells[colIndex].childNodes[0].className = "lrc_txt_hid";
}
else if(oneRow.cells[colIndex].childNodes[0].id.indexOf('LrcDrl_') != -1)
{
oneRow.cells[colIndex].childNodes[0].disabled = true;
}
}
}
}
function BuildSql(tabName)
{
var UpdSql = '';
var tabBody = tabName.tBodies[0];
var oneRow;
var len = tabBody.rows.length;
var celLen = tabName.rows[0].cells.length;
var isadd = tabName.getAttribute("isadd");
var isdel = tabName.getAttribute("isdel");
if(isdel == 'True')
{
celLen = celLen -1;
}
var hidIndex = 0;
if(isadd == 'True')
{
hidIndex = 2;
}
var tabN = tabBody.rows[len-1].cells[hidIndex].childNodes[1].value;
var colN = tabBody.rows[len-1].cells[hidIndex].childNodes[2].value;
var colNA = colN.split(",");
var priK = tabBody.rows[len-1].cells[hidIndex].childNodes[3].value;
var priKA = priK.split(",");
var editCol = tabBody.rows[len-1].cells[hidIndex].childNodes[4].value;
var editColA;
if(editCol == 'LrcAllEdit')
{
var len = colNA.length - priKA.length;
editColA = new Array(len);
var indexE = 0;
for(var i = 0 ; i< colNA.length ; i++)
{
var isPri = 0;
for(var j=0;j<priKA.length;j++)
{
if(priKA[j] == i)
{
isPri = 1;
}
}
if(isPri == 0)
{
editColA[indexE] = i;
indexE++;
}
}
}
else
{
editColA = editCol.split(",");
}
var strUpd = "UPDATE " + tabN + " SET ";
var strIns = "INSERT " + tabN + " (" + colN + ") VALUES ( ";
for(var i=1;i<tabBody.rows.length-1