点击+添加新行并保存数据

1.基础表格

 1 <table class="tableTempDetal" border="1" bordercolor="#000000" id="dataTempDatialTable">
 2                 <tr style="background-color: #edf1fa;">
 3                     <td class="detailsImg">
 4                         <img src="../../Images/Glyph-Add.png" onclick="AddTemplateDetail()" alt="" /><input
 5                             type="hidden" id="hisContractResponsible" value="" />
 6                     </td>
 7                     <td>
 8                         模框名称
 9                     </td>
10                     <td>
11                         标记ID
12                     </td>
13                     <td>
14                         宽度
15                     </td>
16                     <td>
17                         高度
18                     </td>
19                     <td>
20                         适配说明
21                     </td>
22                 </tr>
23                 <tr id="0" style="display: none;">
24                     <td>
25                         <img src="../../Images/delete.png" alt="删除" id="imdDel0" name="imdDel0" onclick="DelTempDetail(this,0)" />
26                     </td>
27                     <td>
28                         <input type="text" class="RectangleName" id="RectangleName" name="RectangleName"
29                             maxlength="10" value='' />
30                     </td>
31                     <td>
32                         <input type="text" class="DivID" id="DivID" name="DivID" maxlength="16" value='' />
33                     </td>
34                     <td>
35                         <input type="text" class="Width" id="Width" name="Width" maxlength="3" onkeyup='this.value=this.value.replace(/\D/gi,"")'
36                             value='' />
37                     </td>
38                     <td>
39                         <input type="text" class="Height" id="Height" name="Height" maxlength="3" onkeyup='this.value=this.value.replace(/\D/gi,"")'
40                             value='' />
41                     </td>
42                     <td style="width: 100%; text-align: left;">
43                         <input type="text" style="width: 99%;" class="AdaptRemark" name="AdaptRemark" id="AdaptRemark"
44                             maxlength="50" value="" />
45                     </td>
46                 </tr>
47                 <asp:Repeater runat="server" ID="rptTempDetailsList">
48                     <ItemTemplate>
49                         <tr id="<%# Container.ItemIndex+1  %>">
50                             <td>
51                                 <img src="../../Images/delete.png" alt="删除" id="imdDel<%# Container.ItemIndex+1  %>"
52                                     name="imdDel0" onclick="DelTempDetail(this,<%#Eval("ID") %>)" />
53                                 <input type="hidden" value="<%#Eval("ID") %>" class="TempDetailID" name="TempDetailID<%# Container.ItemIndex+1  %>"
54                                     id="TempDetailID<%# Container.ItemIndex+1  %>" />
55                             </td>
56                             <td>
57                                 <input type="text" name="RectangleName<%# Container.ItemIndex+1  %>" id="RectangleName<%# Container.ItemIndex+1  %>"
58                                     class="RectangleName" value='<%# Eval("RectangleName") %>' />
59                             </td>
60                             <td>
61                                 <input type="text" name="DivID<%# Container.ItemIndex+1  %>" id="DivID<%# Container.ItemIndex+1  %>"
62                                     class="DivID" value='<%# Eval("DivID") %>' />
63                             </td>
64                             <td>
65                                 <input type="text" name="Width<%# Container.ItemIndex+1  %>" id="Width<%# Container.ItemIndex+1  %>"
66                                     class="Width" value='<%# Eval("Width") %>' maxlength="4" onkeyup='this.value=this.value.replace(/\D/gi,"")' />
67                             </td>
68                             <td>
69                                 <input type="text" name="Height<%# Container.ItemIndex+1  %>" id="Height<%# Container.ItemIndex+1  %>"
70                                     class="Height" value='<%# Eval("Height") %>' maxlength="4" onkeyup='this.value=this.value.replace(/\D/gi,"")' />
71                             </td>
72                             <td style="width: 100%; text-align: left;">
73                                 <input type="text" name="AdaptRemark<%# Container.ItemIndex+1  %>" id="AdaptRemark<%# Container.ItemIndex+1  %>"
74                                     class="AdaptRemark" value='<%# Eval("AdaptRemark") %>' style="width: 99%;" />
75                             </td>
76                         </tr>
77                     </ItemTemplate>
78                 </asp:Repeater>
79             </table>

View Code

2.+新行

 1 //新增模框
 2         function AddTemplateDetail() {
 3             //在table中添加一行数据行,参数为所在table的id,每个数据行必须为tr命名id=行号,表头行和统计行不需要
 4             //页面中必须引入jquery.js
 5             var tableId = "dataTempDatialTable";
 6             var trNewIndex = 0;
 7             var trLast = $("#" + tableId).find("tr[id]:last");
 8             trNewIndex = parseInt(trLast.attr("id")) + 1;
 9             var trNew = trLast.clone();
10             trNew.attr("id", trNewIndex); //行号
11             trNew.find("span:first").text(trNewIndex); //序号赋值
12             trNew.find("td").each(function () {
13                 $(this).children("[type!='button']").each(function () {
14                     $(this).attr("id", $(this).attr("id").replace(trNewIndex - 1, trNewIndex));
15                     $(this).attr("name", $(this).attr("id"));
16                     $(this).val("");
17                 });
18             });
19             trNew.show();
20             trLast.after(trNew);
21
22             TempDetailCount();
23         }

View Code

3.X删除行

1 //删除模框行
2         function DelTempDetail(obj, id) {
3             var trs = $(obj).parent("td").parent("tr");
4             $(trs).remove();
5         }

View Code

4.隐藏域 保存多行值

 1 //设置模框行中,对应input的ID和name
 2         function setTempDetailValue() {
 3             var ids = new Array();
 4             var result = "";
 5             $("#dataTempDatialTable tr:gt(1)").each(function (index) {
 6                 $(this).find(".TempDetailID").attr("ID", "TempDetailID" + (index + 1)).attr("name", "TempDetailID" + (index + 1));
 7                 $(this).find(".RectangleName").attr("ID", "RectangleName" + (index + 1)).attr("name", "RectangleName" + (index + 1));
 8                 $(this).find(".DivID").attr("ID", "DivID" + (index + 1)).attr("name", "DivID" + (index + 1));
 9                 $(this).find(".Width").attr("ID", "Width" + (index + 1)).attr("name", "Width" + (index + 1));
10                 $(this).find(".Height").attr("ID", "Height" + (index + 1)).attr("name", "Height" + (index + 1));
11                 $(this).find(".AdaptRemark").attr("ID", "AdaptRemark" + (index + 1)).attr("name", "AdaptRemark" + (index + 1));
12                 ids.push(parseInt($(this).find("input[type='hidden']").val()));
13             });
14             result = ids.join(",");
15             $("#hidTempDatailTable").val(result);
16         }

View Code

5.后台取值

 1 #region 模板明细表(模框)
 2                 T_COM_TemplateDetail tempDetail = null;
 3                 for (int i = 1; i <= tempDetailLength; i++)
 4                 {
 5                     if (uid == 0)
 6                         tempDetail = new T_COM_TemplateDetail();
 7                     else
 8                         tempDetail = T_COM_TemplateDetailBll.Instance.GetModel(Convert.ToInt32(Request.Form["TempDetailID" + i].Trim()));
 9
10                     tempDetail.RectangleName = Request.Form["RectangleName" + i].Trim();
11                     tempDetail.DivID = Request.Form["DivID" + i].Trim();
12                     tempDetail.Width = Convert.ToInt32(Request.Form["Width" + i].Trim());
13                     tempDetail.Height = Convert.ToInt32(Request.Form["Height" + i].Trim());
14                     tempDetail.AdaptRemark = Request.Form["AdaptRemark" + i].Trim();
15                     tempDetail.IsDelete = false;
16
17                     if (uid == 0)
18                     {
19                         tempDetail.TempID = T_COM_TemplateDetailBll.Instance.MaxTemplateId();
20                         tempDetail.CreateBy = CurrentUser.UserName;
21                         tempDetail.CreateTime = DateTime.Now;
22                         T_COM_TemplateDetailBll.Instance.Add(tempDetail);
23                     }
24                     else
25                     {
26                         tempDetail.TempID = temp.ID;
27                         tempDetail.CreateBy = temp.CreateBy;
28                         tempDetail.CreateTime = temp.CreateTime;
29                         tempDetail.UpdateBy = CurrentUser.UserName;
30                         tempDetail.UpdateTime = DateTime.Now;
31                         T_COM_TemplateDetailBll.Instance.Update(tempDetail);
32                     }
33                 }
34
35                 #endregion

View Code

 

时间: 2024-09-04 03:58:50

点击+添加新行并保存数据的相关文章

ASP.NET在DataGrid快速添加新行

asp.net|datagrid    ASP.net DataGrid为我们提供的内建的记录行编辑功能,但是没有提供内建的添加新行的功能.一个办法就是:在DataTable中添加新行,然后再重新绑定到DataGrid,这个办法可行,但在更新前需要进行确认,可能会产生空行.另外一个解决办法就是:利用DataGrid footer template来提供一个空的行,这样既可以提高速度,也可以避免其它方法带来的不足.      为了为浏览者提供一个空行,我们使用DataGrid的Footer Tem

jQuery实现html表格动态添加新行的方法

  本文实例讲述了jQuery实现html表格动态添加新行的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict

jQuery实现html表格动态添加新行的方法_jquery

本文实例讲述了jQuery实现html表格动态添加新行的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <hea

jquery ajax实现input输入框输入,点击添加无跳转提交数据

问题描述 jquery ajax实现input输入框输入,点击添加无跳转提交数据 jquery ajax实现input输入框输入数据,点击添加按钮无跳转提交数据 解决方案 看一下ajax的例子http://jun1986.iteye.com/blog/1399242 解决方案二: 这个网上例子很多,自己搜看看 解决方案三: 一点不会jq,js跟ajax 解决方案四: 把代码拿出来看看啊,看看你是怎么写的 解决方案五: 肯定是js里面的ajax提交代码有错误

C# DataGridView添加新行的2个方法_C#教程

可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: 复制代码 代码如下: int index=this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = "1"; this.dataGridView1.Rows[inde

在C# WinForm 编程中怎么实现添加新行后,使新行成为当前行?

问题描述 在C#WinForm编程中怎么实现添加新行后,使新行成为当前行? 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励:2:帖子结帖后会返还帖主50%的悬赏分,无满意结帖不返还分数:3:接下来会

关于dataGridView控件添加新行的问题

问题描述 我想要在dataGridView控件上添加一个空行,并通过textBox控件来添加数据,当然,dataGridView和textBox都绑定到数据库.不知如何实现,请高手指点. 解决方案 解决方案二://先给控件添加列DataGridView.Columns.Add("指代列的名称","列名");//在给控件添加行,当然有几列,一行就有几个单元格,把要显示的一行数据,放在数组中object[]param={"单元格数据"};//给控件添

在DataGrid快速添加新行(c#)

datagrid 代码很容易理解,但要声明的是,这是参考孔子的vb版改写的,只是因为有的朋友说用c#不好写.我才写一个供大家参考.在此,谢谢孔子了. appe_admin.aspx <%@ Page language="c#" Codebehind="appe_admin.aspx.cs" AutoEventWireup="false" Inherits="bzh_home.appe_admin" %><!D

使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法_php技巧

1.新建数据库: 进入phpmyadmin管理界面以后,找到如下文字"创建一个新的数据库",然后在下面填上要新建的数据库的名称,在后面的下拉列表中选择数据库的编码,如"utf8_general_ci",点击"创建"按钮,这样就新建了一个数据库. 2.新建此数据库的对应帐户 在phpmyadmin管理界面点击"权限",打开链接,点击"添加新用户",在打开的页面中会看到"登入信息",输入用户