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做一個列總計。
新增銨鈕事件:
更新銨鈕事件:
刪除銨鈕事件:
看看效果: