Visualizzazione dei risultati da 1 a 5 su 5

Discussione: GridView e Header

  1. #1

    GridView e Header

    Ciao a tutti, ho il seguente problema.
    Ho creato una Gridview con 8 colonne ed una nascosta. Ora quando voglio prendere un valore di una cella eseguo questo codice :

    codice:
    Protected Sub gvsquadre_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
      
     Dim indice As Int16 = CInt(e.CommandArgument.ToString)
     gvsquadre.Rows(indice).Cells(5).Text
    
    End Sub
    Sino a qui tutto OK, ora viene il problema, se visualizzo anche la colonna nascosta, la cella non sarà più la 5 ma la 6 (non posso rendere visibile la cella dopo la 5).
    C'è un modo per dire che deve prendere la Rows(indice).cell("Header della cella").text, così evito di mettere il numero della cella visto che varia.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    te la faccio + semplice...
    metti il valore che vuoi in un controllo
    poi invece dell'indice della colonna vai a cercare il controllo
    Es :
    string val = ((TextBox)e.Row.FindControl("miatextbox")).Text;

    ciao

  3. #3

    Grazie per la risposta

    Scusa ma non mi è chiaro...string val = te la faccio + semplice...

    string val = ((TextBox)e.Row.FindControl("miatextbox")).Text;

    Se non erro e.row è presente nella selectindexchange, poi il risultato sarebbe una texbox, non l'indece della colonna, nel senso che a me seriverebbe trovare l'indice della colonna corrispondente al nome dell'intenstazione... ho provato a cambiare il codice che mi hai gentilmente dato, ma non sono risciuto.Qualche altra maniera? intanto faccio qualche ricerca per il heater in giro per google

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ma non si può mettere un if e modificare l'indice cercato a seconda che la colonna x sia visibile o meno?
    Pietro

  5. #5
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    allora calma...
    io te l'ho scritto al volo in c# ... tu usi vb...

    ho scritto troppo di fretta non avevo visto la rowcommand.....
    se vuoi utilizzare l'evento rowcommand devi fare cosi:

    // recupero l'oggetto che ha causato l'evento
    Control c = (Control)e.CommandSource;

    // recupero il NamingConteiner
    GridViewRow r = (GridViewRow)c.NamingContainer;

    // recupero il valore della textbox
    string val = ((TextBox)r.FindControl("miatextbox")).Text;
    NB: io te l'ho scritto in c# , prova a trasformarlo in vb, vedrai che funziona

    ciao!

    Originariamente inviato da pietro09
    ma non si può mettere un if e modificare l'indice cercato a seconda che la colonna x sia visibile o meno?
    ma si anche.... e a me che piace fare le cose complicate

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.