There was a requirement for append a row after every data row in GridView. In begining I tried to get current row and want to append a new row after it. But it's hard to achieve this. And finally, I found a mischief way to append a new row and think :
WHY CAN I HIT UPON TO GET IT?<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewMischief.aspx.cs"
Inherits="GridViewMischief" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>GridView mischief</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="mischiefGridView" runat="server" AllowPaging="True" AutoGenerateColumns="False"
DataKeyNames="ID" DataSourceID="mischief" CellPadding="4" ForeColor="#333333"
GridLines="None" BorderWidth="0" Width="100%">
<RowStyle BackColor="#EFF3FB" HorizontalAlign="Center" />
<Columns>
<asp:BoundField DataField="ID" HeaderText="編號" InsertVisible="False" ReadOnly="True"
SortExpression="ID" />
<asp:BoundField DataField="UniqueID" HeaderText="序號" SortExpression="UniqueID" />
<asp:BoundField DataField="Price" HeaderText="價格" SortExpression="Price" />
<asp:BoundField DataField="Amount" HeaderText="數量" SortExpression="Amount" />
<asp:BoundField DataField="CreateDate" HeaderText="日期" SortExpression="CreateDate" />
<asp:CommandField ShowDeleteButton="True" HeaderText="刪除" />
<asp:TemplateField ShowHeader="False" HeaderText="編輯">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
Text="更新"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消"></asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
Text="編輯"></asp:LinkButton>
</td></tr>
<tr>
<td colspan="7">
<hr />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="#DCDCDC" />
</asp:GridView>
<asp:SqlDataSource ID="mischief" runat="server" ConnectionString="<%$ ConnectionStrings:brucedbConnectionString %>"
SelectCommand="SELECT * FROM [GV]" DeleteCommand="DELETE FROM [GV] WHERE [ID] = @ID"
InsertCommand="INSERT INTO [GV] ([UniqueID], [Price], [Amount], [CreateDate]) VALUES (@UniqueID, @Price, @Amount, @CreateDate)"
UpdateCommand="UPDATE [GV] SET [UniqueID] = @UniqueID, [Price] = @Price, [Amount] = @Amount, [CreateDate] = @CreateDate WHERE [ID] = @ID">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="UniqueID" Type="String" />
<asp:Parameter Name="Price" Type="Int32" />
<asp:Parameter Name="Amount" Type="Int32" />
<asp:Parameter DbType="Date" Name="CreateDate" />
<asp:Parameter Name="ID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="UniqueID" Type="String" />
<asp:Parameter Name="Price" Type="Int32" />
<asp:Parameter Name="Amount" Type="Int32" />
<asp:Parameter DbType="Date" Name="CreateDate" />
</InsertParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>