ASP.NET网页动态添加、更新或删除数据行

看过此篇《ASP.NET网页动态添加数据行http://www.cnblogs.com/insus/p/3247935.html的网友,也许明白Insus.NET是怎样实现动态添加数据行的功能。其实也没有动态添加,只是使用另外一种方法,添加一些临时记录,再使用GridView控件来显示这些记录而已。
在演示中,只是实现添加,没有实现更新数据,删除数据等功能。 再加上有网友看到后,在评论中提出另外的要求,要有记录统计功能。因此Insus.NET再列举另外相似的例子,来完善这些功能。

比如数据库的表有这些字段[Goods_nbr],[Goods_Desc],[Units],[Price],[Quantity]。但是页面或是报表需要,我们有时会得添加另外一些附加字段,如此例中Insus.NET有添加了一个[Amount],将是用来计算每行记录的小计。

根据上面一篇,Insus.NET也只作为参考而已,大可以修改。


上图中高亮部分的属性,在数据库中,最终存储的表,并没有此字段,此字段只是网页时显示使用得到。
上面的对象,即是每商品。我们还要写一个集合,是临时存储商品对象。



把临时记录绑事定至的物件,先在.aspx网页写:



看到否,在GridView控件最后一列,由于数据表中没有此字段,因此手动添加此列。

<asp:TemplateField>
<HeaderStyle Width="100" />
 <ItemStyle Width="100" />
 <FooterStyle Width="100" />
 <HeaderTemplate>Amount</HeaderTemplate>
  <ItemTemplate>
       <%# Eval("Amount") %>
  </ItemTemplate>
  <FooterTemplate>
  <asp:Label ID="LabelSumAmount" runat="server" Text=""></asp:Label>
  </FooterTemplate>
  </asp:TemplateField>


写一个属性,是用Session来存储Orders对象。并为前台的GridView绑定数据:

 

还在写OnRowDataBound事件,实现每小行一个小计,最后是在GridView控件FooterTemplate做一个列总计。

 


添加铵钮事件:


更新铵钮事件:



删除铵钮事件:



看看效果:



posted @ 2013-08-10 03:12  Insus.NET  阅读(8867)  评论(25编辑  收藏  举报