select current row from a gridview

How to get current selcted row index in GridView?

I saw many people are struggling to get the current selected row when the rowcommand event.

In 2.0 row comand will be like this

protected void gridcommand(object sender, GridViewCommandEventArgs e)

here you can't get any property like e.RowIndex  or e.Keys

But if you look at other specific event like OnRowUpdating OnRowDeleted ,properties like e.RowIndex  or e.Keys are available so it will be easy to retrieve the dont have to worry about this there is work around for getting this values in the command event ,i know that if you are using Gridview then you will definetly come across situation where you need to use the command event other than normal edit update and delete events.

thfollowing code sample will help you to retrieve those

 protected void gridcommand(object sender, GridViewCommandEventArgs e)
        GridViewRow row = (GridViewRow)((Control)e.CommandSource).Parent.Parent;
        GridView gv = (GridView)(e.CommandSource);
        string s = gv.DataKeys[row.RowIndex][0].ToString();