当前位置:编程学习 > C#/ASP.NET >>

表中行列的动态添加

  做一个项目 里面有个职工管理模块。由于员工每年的培训经历都是不定,所以客户要求职工信息表中的培训经历那块要求行不是固定,能动态添加。请问该怎么实现 --------------------编程问答-------------------- 没有必要添加列。

可以每列一行:
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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,