ASP.NET + GridView + CommandField as TemplateField ASP.NET + GridView + CommandField as TemplateField asp.net asp.net

ASP.NET + GridView + CommandField as TemplateField


All you have to do is set the CommandName property of the LinkButton inside of your template column to 'Edit' for editing, 'Delete' for deleting and 'Update' for updating. This will trigger the GridView RowEditing, RowDeleting and RowUpdating events respectively. To trigger the RowCommand event you need to set the OnRowCommand property of your GridView control.

<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand"    OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"    OnRowUpdating="GridView1_RowUpdating"><Columns>    <asp:TemplateField>        <ItemTemplate>            <!--To fire the OnRowEditing event.-->            <asp:LinkButton ID="lbEdit" runat="server" CommandName="Edit"                 Text="Edit">            </asp:LinkButton>            <!--To fire the OnRowDeleting event.-->            <asp:LinkButton ID="lbDelete" runat="server" CommandName="Delete"                 Text="Delete">            </asp:LinkButton>            <!--To fire the OnRowUpdating event.-->            <asp:LinkButton ID="lbUpdate" runat="server" CommandName="Update"                 Text="Update">            </asp:LinkButton>        </ItemTemplate>    </asp:TemplateField></Columns>    </asp:GridView>


I had the same problem.

For edit, I did the following:

        <asp:TemplateField ShowHeader="False">            <ItemTemplate>                <asp:LinkButton ID="EditButton"                                runat="server"                                CommandName="Edit"                                 Text="Edit" />            </ItemTemplate>            <EditItemTemplate>                <asp:LinkButton ID="UpdateButton"                                runat="server"                                CommandName="Update"                                Text="Update" />                 <asp:LinkButton ID="Cancel"                                runat="server"                                CommandName="Cancel"                                Text="Cancel" />            </EditItemTemplate>        </asp:TemplateField>

This allows for the showing/hiding of the update and cancel buttons.

As for delete, I used the following:

    <asp:TemplateField>        <ItemTemplate>            <asp:LinkButton ID="DeleteButton"                            Text="Delete"                            CommandName="Delete"                             runat="server" />        </ItemTemplate>    </asp:TemplateField>


click on Columns in properties, add CommandField(Edit,update,Cancel) and Click on the "Convert this field to templateField"

Swich to Source and automatically going to add a code.