'GridView_RowDataBound (If e.Row.RowType = DataControlRowType.DataRow)....include 2 IF's?

I've got a grid view which uses a "If e.Row.RowType = DataControlRowType.DataRow" to calculate the total of a column and hold this in the footer.

  Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

  If e.Row.RowType = DataControlRowType.DataRow Then
     Totalnumbers += Convert.ToInt16(DataBinder.Eval(e.Row.DataItem, "RequestTotalnumbers"))
  ElseIf 
    e.Row.RowType = DataControlRowType.Footer Then      
   e.Row.Cells(3).Text = String.Format("{0}", Totalnumbers)
    End If

However i now wish to also add....

    If e.Row.RowType = DataControlRowType.DataRow Then
        Dim datakey As String = GridView1.DataKeys(e.Row.RowIndex).Value.ToString()

    End If

so that it can transfer on click to another page....

    'Handle button click
    Protected Sub RowClick(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) _
    Handles GridView1.RowCommand

    If e.CommandName = "Select" Then
        'Add to session variable; translate the index of clicked to Primary Key
        Session.Add("ID", GridView1.DataKeys(e.CommandArgument).Value.ToString)
        Response.Redirect(" ")
    End If
End Sub 

I've tried combining to two if's together but have had no success...how can i do this?



Solution 1:[1]

Not quite sure, this may be what you want. Make sure you also added "datakeynames" property in your GridView.

'Handle button click
Protected Sub RowClick(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) _
    Handles GridView1.RowCommand

    If e.CommandName = "Select" Then
       Dim row As GridViewRow = CType(CType(e.CommandSource, Control).NamingContainer, GridViewRow)
        'Add to session variable; translate the index of clicked to Primary Key
        Session.Add("ID", GridView1.DataKeys(row.RowIndex).Value.ToString)
        Response.Redirect(" ")
    End If
End Sub

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Min Min