全编辑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;i++)
{
onerow = tabbody.rows[i];
//更新语句
if(onerow.id != "lrcnewrow")
{
updsql += strupd;
for(var j=0;j<editcola.length;j++)
{
updsql += colna[editcola[j]];
updsql += " = '";
if(onerow.cells[editcola[j]].firstchild.id.indexof('lrcdrl_') != -1)
{
updsql += onerow.cells[editcola[j]].firstchild.options[onerow.cells[editcola[j]].firstchild.selectedindex ].value;
}
else
{
updsql += onerow.cells[editcola[j]].firstchild.value;
}
if(j != editcola.length - 1)
{
updsql += "', ";
}
else
{
updsql += "' ";
}
}
updsql += " where ";
for(var k=0;k<prika.length;k++)
{
updsql += colna[prika[k]];
updsql += " = '";
updsql += onerow.cells[prika[k]].firstchild.nodevalue;
if(k != prika.length - 1)
{
updsql += "' and ";
}
else
{
updsql += "' \r";
}
}
}
else //插入语句
{
updsql += strins;
for(var k=0;k<cellen;k++)
{
if(onerow.cells[k].firstchild.id.indexof('lrcdrl_') != -1)
{
var selv = onerow.cells[k].firstchild.options[onerow.cells[k].firstchild.selectedindex].value;
updsql = updsql + "'" + selv + "'";
}
else
{
updsql = updsql + "'" + onerow.cells[k].firstchild.value + "'";
}
if(k+1 != cellen)
{
updsql += ",";
}
else
{
updsql += ") \r";
}
}
}
}
var tabbody = tabname.tbodies[0];
var len = tabbody.rows.length;
tabbody.rows[len-1].cells[hidindex].childnodes[5].value = updsql;
return true;
}
function addrow(tab)
{
var tabbody = tab.tbodies[0];
var onerow;
var rowlen = tab.rows.length;
var cellen = tab.rows[0].cells.length;
var isadd = tab.getattribute("isadd");
var isdel = tab.getattribute("isdel");
if(isdel == 'true')
{
cellen = cellen -1;
}
var newrow = tabbody.insertrow(rowlen-1);
newrow.id = "lrcnewrow";
// for(var i = 0;i< cellen;i++)
// {
// var newcel = newrow.insertcell();< br> // var str="<input type=textname=\"newt\"class=\"lrc_txt_normal\"onfocus=\"this.classname='lrc_txt_edit';this.parentnode.parentnode.bgcolor='#c1d2ee';\" onblur=\"this.classname='lrc_txt_normal';this.parentnode.parentnode.bgcolor='#ffffff';\"/>";
// newcel.innerhtml =str;
// }
for(var i = 0;i<cellen;i++)
{
var newcel = newrow.insertcell();
if(tabbody.rows[1].cells[i].childnodes[0].nodetype != 3)
{
if(tabbody.rows[1].cells[i].firstchild.id.indexof('lrcdrl_') != -1)
{
var innert = tabbody.rows[1].cells[i].innerhtml;
newcel.innerhtml = innert;
newcel.firstchild.disabled = false;
}
else
本文关键:全编辑WebGrid控件LrcGrid(4)—— 脚本库和样式表相关方案
- 一个实用的ASP分页函数,解决…
- 如何用ASP编写网站统计系统…
- AdodbStream的方法和…
- (原创)为DataGrid添加…
- www.buy91.com首页…
- Active Server P…
- fso的一些特殊功能…
- 数据库的查询优化技术 (摘)…
- 权限管理的设计和实现(含演示和…
- [我的ASP.net学习历程]…
- 在VBScript中使用类(三…
- .Net 中使用Crystal…
- [我的ASP.net学习历程]…
- 论坛E-mail验正的正则表达…
- 自动生成插入,修改的SQL…
- 三种禁用FileSystemO…
- 扩展Forms验证…
- Modifying GAC p…
- ASP中使用SQL时的数据类型…
- 利用ASP开发Web应用…