Dynamic Gridview

Posted on 2015-02-18
Medium Priority
Last Modified: 2015-07-13

So I'm trying to update this page here


so that clicking on one of these game results e.g "Old Fellas 9 vs Sandy Gallito 9"

takes you to the page result for that game over here


So there are two parts to my problem,

1)  I can't work out how to include my data in the Gridview (Id=367) so that I can send it to the next page.

2)   I cant  work out how to apply this to all of my cells during the GridView_RowDataBound event (the number of columns is dynamic). This is what I've got so far but obviously it only caters for 1 column at the moment.

Protected Sub GridView_RowDataBound(ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdLeagueSummary.RowDataBound
        If e.Row.RowType = DataControlRowType.DataRow Then

            Dim hLink As New HyperLink
            hLink.NavigateUrl = "GameStatDetails.aspx?Id=367   '.aspx?q="  ' + e.Row.Cells(2).Text
            hLink.Text = e.Row.Cells(2).Text


        End If

End Sub

Open in new window

Question by:Clever_Bob
LVL 13

Expert Comment

by:Jitendra Patil
ID: 40618264
can you post your aspx code here?

As per your code i think you are trying to bind a grid view with dynamic data source.

Based on the above requirements (1), is it that the 367 value is fixed or it may change during databinding ?

as per the (2) problem i think you need to change the code as below

            Dim hLink As New HyperLink
            hLink.NavigateUrl = "GameStatDetails.aspx?Id=367   '&q=" ' + e.Row.Cells(2).Text
            hLink.Text = e.Row.Cells(2).Text

hope this helps.
LVL 36

Expert Comment

by:Miguel Oz
ID: 40620939
For (1)  DataItem contains the data associated with the row:
Dim rowView As DataRowView = CType(e.Row.DataItem, DataRowView)
Dim myID As String = rowView("id prop name")

Open in new window

For (2) loop using column count but skip the first column:
For i As Integer = 1 To gv.Rows.Count - 1
     Dim hLink As New HyperLink
     hLink.NavigateUrl = "GameStatDetails.aspx?Id=" + myID +"&q=" + e.Row.Cells(i).Text
     hLink.Text = e.Row.Cells(i).Text

Open in new window

where myID  =  your id value (e.g. 367) from 1
Note: Nice background photo. I played soccer myself as well.
LVL 10

Accepted Solution

Jini Jose earned 2000 total points
ID: 40630172
you can use template columns. Details is given in this link

<asp:TemplateField HeaderText="Hyperlink">
        <asp:HyperLink ID="HyperLink1" runat="server" 
            NavigateUrl='<%# Eval("ID", @"GameStatDetails.aspx?Id={0}") %>' 

Open in new window


Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

There is a wide range of advantages associated with the use of ASP.NET. This is why this programming framework is used to create excellent enterprise-class websites, technologies, and web applications.
The PowerShell Core 6.0 of .NET release is just the beginning. The upcoming PowerShell Core 6.1 would have artificial intelligence and internet of things capabilities. So many things to look forward to in the upcoming release.
Planning to migrate your EDB file(s) to a new or an existing Outlook PST file? This video will guide you how to convert EDB file(s) to PST. Besides this, it also describes, how one can easily search any item(s) from multiple folders or mailboxes…
When you have multiple client accounts to manage, it often feels like there aren’t enough hours in the day. With too many applications to juggle, you can’t focus on your clients, much less your growing to-do list. But that doesn’t have to be the cas…

600 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question