网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

ASP.NET中应用Excel:为HTML表格增加编辑功能

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
ngth )

tbl.rows[ctrl.parentElement.rowIndex + 1].deleteCell(ctrl.cellIndex);

}



ctrl.rowSpan = ctrl._rowspan; // 设置跨度

}

}

}

}

}注意到document.worksheet对象没有?这个对象在生成表格时添加并填充,包括所有的工作表名字和表格id。其格式如下:

view plaincopy to clipboardprint?
document.worksheet = { ''table'': null, // HTML table的id ,

''name'': '''' // 工作表名字

};

document.worksheet = { ''table'': null, // HTML table的id ,

''name'': '''' // 工作表名字

};要使方向键起作用,需要为编辑框添加按键事件处理:

view plaincopy to clipboardprint?
// 编辑框的按键事件

function onTextBoxKeydown()

{

var sender = event.srcElement, // 事件属性

code = event.keyCode;



if ( sender.parentElement &&

sender.parentElement.tagName == ''TD'')

{

var tbl = sender.parentElement.parentElement.parentElement, // 表格对象

col = sender.parentElement.cellIndex, // 列号

row = sender.parentElement.parentElement.rowIndex; // 行号



switch(code) // 处理按键代码

{

case 37: // left

{

sender.onchange(); // 手动激发改动事件和在激活事件

if ( col > 1 ) // 第一列是标头,不需要激活

tbl.rows[row].cells[col - 1].onactivate();

}

break;

case 38: // top

{

sender.onchange();

if ( row > 1 )

tbl.rows[row - 1].cells[col].onactivate();

}

break;

case 39: // right

{

sender.onchange();

if ( col < tbl.rows[row].cells.length - 1 )

tbl.rows[row].cells[col + 1].onactivate();

}

break;

case 13:

case 40: // down

{

sender.onchange();

if ( row < tbl.rows.length - 1 )

tbl.rows[row + 1].cells[col].onactivate();



return false;

}

break;

}// switch

}



return true;

}

// 编辑框的按键事件

function onTextBoxKeydown()

{

var sender = event.srcElement, // 事件属性

code = event.keyCode;



if ( sender.parentElement &&

sender.parentElement.tagName == ''TD'')

{

var tbl = sender.parentElement.parentElement.parentElement, // 表格对象

col = sender.parentElement.cellIndex, // 列号

row = sender.parentElement.parentElement.rowIndex; // 行号



switch(code) // 处理按键代码

{

case 37: // left

{

sender.onchange(); // 手动激发改动事件和在激活事件

if ( col > 1 ) // 第一列是标头,不需要激活

tbl.rows[row].cells[col - 1].onactivate();

}

break;

case 38: // top

{

sender.onchange();

if ( row > 1 )

tbl.rows[row - 1].cells[col].onactivate();

}

break;

case 39: // right

{

sender.onchange();

if ( col < tbl.rows[row].cells.length - 1 )

tbl.rows[row].cells[col + 1].onactivate();

}

break;

case 13:

case 40: // down

{

sender.onchange();

if ( row < tbl.rows.length - 1 )

tbl.rows[row + 1].cells[col].onactivate();



return false;

}

break;

}// switch

}



return true;

}改动编辑框的内容后,还需要更新单元格内容和持有的数据,这需要处理onchange事件:

view plaincopy to clipboardprint?
// 编辑框的改变事件

function onTextBoxChange()

{

var src = event.srcElement; // 事件属性



if ( src.parentElement &&

src.parentElement.tagName == ''TD'' )

{

var val = src.value.trim(); // 去掉空格



if ( val != src.parentElement.dataField ) // 内容有变化?

{ // 更新数据域

src.parentElement.dataField = val;

src.parentElement.value2 = va

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号