+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: seleziona del gridview

  1. #1
    Post
    36

    seleziona del gridview

    ho questi due controlli : il primo è un formview e il secondo è un gridview.

    Vorrei che alla pressione del tasto seleziona all'interno della gridview riporta i valori codice e etica all 'interno del formview.
    Ho scritto tale codice:
    codice:
    Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
    
            'Txtprova.Text = GridView1.Rows(intRiga).Cells(1).Text
            Dim idLabel As Label = CType(Me.FormView1.FindControl("idLabel"), Label)
            Dim idetica As Label = CType(Me.FormView1.FindControl("eticaLabel"), Label)
            idLabel.Text = GridView1.Rows(intRiga).Cells(1).Text
            idetica.Text = GridView1.Rows(intRiga).Cells(2).Text
    
    
        End Sub
    però logicamente è solo una maschera .. perchè se poi premo modifica o elimina i valori di codice etica all'interno del formview ritornano quelli precedentemente esistenti ... cm posso fare che alla pressione del tasto seleziona i valori del formview corrispondono esattamente a quelli selezionati (e non creare soltanto una" maschera")?

  2. #2
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Mi piacerebbe sapere (fino ad un certo punto ) il perchè. Nel senso che non mi è chiaro come mai vuoi aprire dopo la selezione il FormView, dato che lo stesso GridView ti permette di modificare, inserire un nuovo elemento o cancellare...

    Ad ogni modo, anche in questo caso (come già visto ieri) hai bisogno (se vuoi usare i wizard):
    1)un controllo GridView
    2)un controllo FormView
    3)due oggetti AccessDataSource che possiamo per esempio chiamare AccessDataSourceSelect e AccessDataSourceModify
    4)cinque minuti di tempo

    Configura AccessDataSourceSelect in modo che esegui (sempre se la tua esigenza è questa) solo una select (quindi niente check su avanzate, genera statement di insert ecc).

    Configura AccessDataSourceModify indicando in Where:
    1)Colonna chiave
    2)Operatore uguale
    3)origine di tipo Control
    4)In Id Controllo selezioni il controllo GridView
    5)Aggiungi
    6)Avanzate se vuoi gestire insert, modifiche.

    Infine assegna l'oggetto AccessDataSourceSelect al controllo GridView mentre AccessDataSourceModify al controllo FormView.
    Buono studio

  3. #3
    Post
    36
    ho capito come fare secondo quanto hai detto.
    Ma ad ogni modo non sò se si ottiene il risultato che vorrei..
    nel senso: Il controllo Formview recupera dati dal database .. oltre a questo c'è questo controllo Gridview che si attiva(.visibile=true) premendo il pulsante del formview "visualizza intero elenco".Con la pressione del tasto seleziona del gridview vorrei le info sul formview e che se vado a cliccare, ad esempio su modifica, mi escono (codice e etica) i valori selezionati . Quindi è come se volessi dire al formview: se ti faccio un seleziona dal gridview prendi quei dati e non dal db... altrimenti uploaddami( ) i valori dal db. Scusa se non sono stato chiaro

    ti ringrazio cmq del supporto che mi stai dando !

    ps:il perchè di questo ? devo "ricalcare" un applicazione e mi è stato chiesto di fare questa cosa ...

  4. #4
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da Pandasporting1.1 Visualizza il messaggio
    ps:il perchè di questo ? devo "ricalcare" un applicazione e mi è stato chiesto di fare questa cosa ...
    C'è porting e porting, nel senso che non conoscendo l'applicazione di base non posso dire se il tuo "ricalcare" (per usare un tuo termine) sia il più corretto oppure c'è una strada più semplice o più efficace o entrambe.
    Per il resto non ho capito praticamente nulla (Ad ogni modo quello che ho scritto prevede che entrambi i controlli siano popolati con i dati recuperati dal db)....Vuoi che il FormView non recuperi le info dal db ma che quelle presenti alla selezione del GridView

  5. #5
    Post
    36
    ok ... ho provato quello che hai detto tu... all'inizio il formview mi dà l'elenco vuoto perchè ovviamente non ho selezionato niente dal gridview.Non è possibile che il forview carichi nonostante non abbia cliccato su seleziona i dati dal db ? se non si può fare dovrei trovare un modo per avere un seleziona attivato di default nel gridview...

    cmq se clicco seleziona va bene il formview!

    ps: se modifico inserisco o modifico dal formview non si visualizzano i cambiamenti nel gridview .. per aggiornare ho provato gridview.databind() nel pageload e verifico if (page.ispostback) .. ma non aggiorna .. lo fa solo se faccio un refresh della pagina

    grazie
    Ultima modifica di Pandasporting1.1; 25-02-2009 10:07 

  6. #6
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da Pandasporting1.1 Visualizza il messaggio
    ps: se modifico inserisco o modifico dal formview non si visualizzano i cambiamenti nel gridview .. per aggiornare ho provato gridview.databind()
    Si
    Quote Originariamente inviato da Pandasporting1.1 Visualizza il messaggio
    nel pageload e verifico if (page.ispostback) .. ma non aggiorna .. lo fa solo se faccio un refresh della pagina
    No. Il FormView presenta una serie di eventi che scattano quando si inserisce, si modifica o si cancella un item.
    ItemInserted, ItemUpdated e Item Deleted, in questi casi esegui il DataBind.
    Quote Originariamente inviato da Pandasporting1.1 Visualizza il messaggio
    ok ... ho provato quello che hai detto tu... all'inizio il formview mi dà l'elenco vuoto perchè ovviamente non ho selezionato niente dal gridview.Non è possibile che il forview carichi nonostante non abbia cliccato su seleziona i dati dal db ? se non si può fare dovrei trovare un modo per avere un seleziona attivato di default nel gridview...
    Sinceramente sia da sviluppatore che da utente non mi piacerebbe una cosa del genere. Comunque, per esempio, nel page_load puoi settare il primo indice del GridView:
    codice:
    if (!IsPostBack)
    {
     if (GridView1.Rows.Count > 0)
     {
       GridView1.SelectedIndex = 0;
     }
    }
    Quote Originariamente inviato da Pandasporting1.1 Visualizza il messaggio
    grazie
    Prego

  7. #7
    Post
    36
    Quote Originariamente inviato da SignIn Visualizza il messaggio
    Sinceramente sia da sviluppatore che da utente non mi piacerebbe una cosa del genere.
    io non riesco a trovare un alternativa ... cioè invece di vedere il formview con i campi vuoti...

  8. #8
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da Pandasporting1.1 Visualizza il messaggio
    io non riesco a trovare un alternativa ... cioè invece di vedere il formview con i campi vuoti...
    Avere una semplice label (div,alert ecc) ben formattata che avvisa l'utente che per poter modificare un elemento deve selezionare dalla griglia l'elemento. In caso di selezione la label viene resa invisibile.

  9. #9
    Post
    36
    percchè non mi aggiorna la gridview?

    faccio così:
    Protected Sub FormView1_ItemInserted(ByVal sender As Object, ByVal e As FormViewInsertedEventArgs)
    GridView2.DataBind()
    End Sub

    ma non si aggiorna!

  10. #10
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da Pandasporting1.1 Visualizza il messaggio
    percchè non mi aggiorna la gridview?
    E' impossibile darti una risposta. Hai eseguito un debug (il forum non sostituisce il mezzo più importante per uno sviluppatore) della tua applicazione?
    Hai verificato che l'evento viene scatenato? Hai verificato che l'inserimento sia avvenuto? Hai controllato che l'AccessDataSource sia "configurato per bene" al GridView?

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi