Ciao a tutti!
Avrei la necessità di creare una gridview completamente dinamica, nel senso che non so a priori quante colonne avrà.
Cerco di spiegarmi meglio..

Devo creare una tabella che contenga una colonna per ogni albergo e nelle righe i giorni del mese con i relativi posti prenotati per ogni albergo.
ESEMPIO:

|GIORNO| ALBERGO 1 | ALBERGO 2|
|01-01-2021| 100| 90|
|02-01-2021| 102| 92|

Per ogni utente ho salvato nel db gli alberghi che può visualizzare, perciò devo creare una datagridview con colonne che si creano dinamicamente.
Vorrei visualizzare un hyperlink nel numero delle persone prenotate in modo tale che se si fa click sopra apra una pagina con il dettaglio della prenotazione passando i dati del giorno e dell'albergo

Visto che le colonne ID e GIORNO ci saranno sempre, ho pensato di non crearle dinamicamente, ma di scriverle nel codice
codice:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                        AllowPaging="True" Width="100%" AllowSorting="True" class="table table-hover table-striped">
                        <AlternatingRowStyle BackColor="#DFDFDF" />
                        <PagerStyle ForeColor="#3a4f63"  HorizontalAlign="Right" BackColor="#C6C3C6"></PagerStyle>                        
                        <Columns>
                            <asp:BoundField DataField="id" HeaderText="Id" InsertVisible="False" ReadOnly="True"
                                ShowHeader="False">
                                <ItemStyle Width="50px" />
                            </asp:BoundField>

                            <asp:BoundField DataField="giorno" HeaderText="Giorno" InsertVisible="False" ReadOnly="True"
                                ShowHeader="False">
                                <ItemStyle Width="50px" />
                            </asp:BoundField>
                            

                         </Columns>
                    </asp:GridView>




Inizializzo il mio DataTable dt con le prime colonne id e giorno
codice:
        Dim dt As New DataTable
        dt.Columns.Add("id")
        dt.Columns.Add("giorno")



nella query che mi trova gli alberghi da visualizzare, aggiungo le colonne hyperlink alla datagridview
codice:
                        dt.Columns.Add(dr("albergo"))

                        Dim tfield As New HyperLinkField()
                        tfield.HeaderText = dr("albergo")
                        tfield.NavigateUrl = "dett_prenotazione.aspx?ID={0}"
                        tfield.Text = "11" 'SE OMETTO LA RIGA NON VISUALIZZO NULLA
                        GridView1.Columns.Add(tfield)



ora eseguo un ciclo dove popolo le righe con gli alberghi e le prenotazioni e aggiungo i dati al DataTable nel seguente modo
codice:
...
dt.Rows.Add("1", "01/07/2021", "100", "90")
dt.Rows.Add("2", "02/07/2021", "102", "92")
...
GridView1.DataSource = dt
GridView1.DataBind()
Ho il seguente problema, se ometto la riga
codice:
tfield.Text = "11" 'SE OMETTO LA RIGA NON VISUALIZZO NULLA
la datagridview si compone nel seguente modo
|GIORNO| ALBERGO 1 | ALBERGO 2|
|01-01-2021| | |
|02-01-2021| | |

Se invece la riga la scrivo e assegno un qualsiasi valore ad esempio 11, visualizzo 11 su tutte le righe, ossia
|GIORNO| ALBERGO 1 | ALBERGO 2|
|01-01-2021| 11| 11|
|02-01-2021| 11| 11|

Vorrei capire in che modo andare a modificare il testo e il parametri da passare nel hyperlink di ogni singola riga e colonna.

Spero di esser stato abbastanza chiaro.

Grazie