ASP.Net Development, Hire.net developer

ASP.Net 2.0, ASP.Net Developers, Hire .Net Developrs

Obtain RowIndex of Asp.Net GridView in the RowCommand Event

There are two methods to get the RowIndex in the RowCommand Event. Let see one-by-one.

Consider you have a LinkButton placed inside the TemplateField section as follows.

<asp:TemplateField HeaderText=”Submit”>
<ItemTemplate>
<asp:LinkButton ID=”lnkbtnSubmit” runat=”server” CommandName=”Submit” Text=’<%# Bind(“Id”) %>’ ></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</asp:TemplateField>

Method 1: Using CommandSource object

In the RowCommand Event of the GridView control, write the following code,

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals(“Submit”))
{
GridViewRow gvr = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer;
int RowIndex = gvr.RowIndex;
}
}

Method 2: Using CommandArgument property
In the CommandArgument property of the LinkButton, add an inline code to assign the GridViewRow’s container RowIndex value as follows,

<asp:TemplateField HeaderText=”Submit”>
<ItemTemplate>
<asp:LinkButton ID=”lnkbtnSubmit” runat=”server” CommandName=”Submit” Text=’<%# Bind(“Id”) %>’
CommandArgument=’<%# ((GridViewRow) Container).RowIndex %>’ ></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
</asp:TemplateField>

Then in the RowCommand Event, you can get the RowIndex as follows,
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals(“Submit”))
{
int RowIndex = Convert.ToInt32(e.CommandArgument).ToString();
}
}

Have a Look at  ASP.Net Development Company

April 9, 2009 Posted by | ASP.Net development | Leave a Comment

   

Follow

Get every new post delivered to your Inbox.