表中行列的动态添加
做一个项目 里面有个职工管理模块。由于员工每年的培训经历都是不定,所以客户要求职工信息表中的培训经历那块要求行不是固定,能动态添加。请问该怎么实现 --------------------编程问答-------------------- 没有必要添加列。可以每列一行:
id userid datetime traintrack
1 1 2001 VB 开发
2 1 2007 XML和Ajax
3 1 2011 C# 4.0
4 2 2003 .NET Web Service
5 2 2008 WPF
6 3 1999 Delphi --------------------编程问答-------------------- 用js添加:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript">
function appendRow(XelementId)
{
var table=document.getElementById(XelementId);
var newRow=table.insertRow(-1);
newRow.insertCell(-1).innerHTML="<input type='text' name='telephone' />";
newRow.insertCell(-1).innerHTML="<input type='checkbox' name='isMobile'/>是否手机";
}
function deleteRow(XelementId)
{
var table=document.getElementById(XelementId);
if(table.rows.length>2)
table.deleteRow(-1);
}
</script>
</head>
<body>
<table id="table1" border="1">
<tr><th>电话号码</th><th ><input type="button" id="append" value="添加" onclick="appendRow('table1')"/><input type="button" id="delete" value="删除" onclick="deleteRow('table1')"/></th></tr>
<tr><td><input type="text name="telephone" /></td><td><input type="checkbox" name="isMobile"/>是否手机</td></tr>
</table>
</body>
</html>
后台用Request["name属性值"]获取 --------------------编程问答--------------------
<html>--------------------编程问答-------------------- 数据库中的行没必要动态添加,像一楼所说的~
<!---------------------------------------------------------------
-- 动态 表格
-- kay
-- 2007-07-25
---------------------------------------------------------------->
<head>
<title>动态添加</title>
<script language="javascript">
var value;
function change()
{
var selectvalue = document.getElementById("se").selectedIndex;
value = selectvalue;
}
function addHtml(r)
{
var tab = document.getElementById("tb") ;
var colsNum = tab.rows.item(0).cells.length ;
var row = document.getElementById("tb");
var rownum ;
if(r!=0)
{
rownum = r + 1;
}
else
{
//获得当前得行数
var num = document.getElementById("tb").rows.length;
//使添加得新行在表格底部
rownum = num - 1;
}
row.insertRow(rownum);
var i=0;
for(;i<colsNum-1;i++)
{
//最大值
row.rows[rownum].insertCell(i);
row.rows[rownum].cells[i].innerHTML="<input type='text' name='test' value='sdfskaladsflfdskldsafsl'/>";
}
row.rows[rownum].insertCell(i);
row.rows[rownum].cells[i].innerHTML="<input type='button' value='+' onclick='addHtml("+rownum+")'/><input type='button' value='-' onclick='deleterow("+rownum+")'/>";
}
function deleterow(rnum)
{
var num = document.getElementById("tb").rows.length;
if(rnum != num)
{
var aa = num - rnum ;
if(aa == 1)
{
//防止删除最后一行
rnum = rnum - 1;
}
if(confirm('你确定要删除吗?'))
{
var tbody = document.getElementById("tb");
tbody.deleteRow(rnum);
}
}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<select id="se" onchange="change()">
<option value="num">数值</option>
<option value="str">字符</option>
<option value="strnum">数值+字符</option>
</select>
<p>
<input type="button" name="Submit2" value="Add" onclick="addHtml(000)"/>
</p>
<table width="50%" border="1" align="center" id="test">
<tr>
<td align="center" valign="middle">值编号</td>
<td align="center" valign="middle">值代码</td>
<td align="center" valign="middle">最大值</td>
<td align="center" valign="middle">最小值</td>
<td align="center" valign="middle">值描述</td>
<td align="center" valign="middle">添加方式</td>
<td align="center" valign="middle">操作</td>
</tr>
<tr>
<td colspan="7" align="center" valign="middle"><input type="submit" name="Submit" value="保存" /></td>
</tr>
<tbody id="tb">
<tr><td>测试</td><td>测试</td><td>测试</td><td>测试</td><td>测试</td><td>测试</td><td>测试</td></tr>
</tbody>
</table>
</form>
</body>
</html>
程序中可以动态增加控件实现需求 --------------------编程问答-------------------- 培训经历
用一个repeater or Gridview
这样就行了
培训经历如果还有其他信息 用ID来关联 --------------------编程问答-------------------- 用asp.net平台做的 肯定要是要求表修改后重新存入数据库了
而且职工培训经历这块是包含在一个完整的大表中,它后面还是有其他的表格需要添加其他内容的
补充:.NET技术 , ASP.NET