Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    datagrid/dataview vuoto - messaggio di avviso

    si potevo scegliere un titolo più chiaro è vero

    vorrei fare una cosa semplice in apparenza, solo che non so come si faccia :-(

    io bindo una dataview a un datagrid e vorrei che nel caso il datagrid risulti vuoto (cioè se la dataview è vuota) al posto delle righe del datagrid comparisse il messaggio "nessun record da visualizzare"

    il bind dei dati avviene in una forma simile a questa:
    datagrid.datasource = pippo()
    dove pippo è una funzione che fa un sacco di query e mi restituisce la dataview (quindi mentre bindo in realtà non so cosa sto bindando, se una dataview piena o vuota)

    sepoffà?
    comesefà?

    grazie
    ah già dimenticavo, aspNET.vb
    ciao a tutti
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    if dvDel.Table.Rows.Count > 0 then
    --esegui la databind sulla datagrid
    else
    --messaggio

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    che nel mio caso diventa

    if pippo().table.rows.count > 0 then
    databind
    else
    messaggio
    end if

    giusto?
    scaltrissimo!!!
    grazie
    ciao
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    che nel tuo caso diventa

    if pippo.table.rows.count > 0 then
    databind
    else
    messaggio
    end if

    Esatto!!
    Ciao

  5. #5
    Originariamente inviato da _Andrea_70_
    che nel tuo caso diventa

    if pippo.table.rows.count > 0 then
    ma che allora se proprio vogliomo dirla tutta visto che la dataview ne ha tante di funzioni utili perche' non usarle?
    codice:
    if pippo.count > 0 then
    e visto che ci sono... hai detto che nella funzione pippo che restituisce una dataview vengono effettuate numerose query. Facendo un semplice controllo sul numero di righe fai eseguire tutte queste query per poi subito dopo rifarle eseguire nuovamente con il databind. Non e' molto ottimale come soluzione. Forse sarebe meglio eseguirle una volta e rendere persistente il risultato (la dataview) in cache o in session (ovviamente se non e' molto grossa) con una funzione separata per poi usare un'altra funzione che legge il contenuto sempre della stessa dataview (almeno finche qualcuno non decide di rifare il bind alla fonte dati).
    Saluti a tutti
    Riccardo

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    riccardone sei un grande

    il count l'ho capito (anzi grazie perchè non sapevo della proprietà count della dataview)
    sulla persistenza in cache della dataview invece siamo a un livello troppo elevato per la mia cultura di aspNET :-) prima o poi ci arrivo, promesso...
    però da quello che ho capito non farebbe al caso mio perchè la pagina la carico n volte perchè faccio modifiche/cancellazioni/inserimenti su quella serie di dati quindi bindo a ripetizione
    sei comunque il più forte ;-)

    grazie infinite a tutti
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Originariamente inviato da supermac
    ...non farebbe al caso mio perchè la pagina la carico n volte perchè faccio modifiche/cancellazioni/inserimenti su quella serie di dati quindi bindo a ripetizione
    Motivo in piu'. Per come la vedo io, dovresti avere una funzione es.
    codice:
    Public function GetSource as Dataview
    ' qui dentro metti il codice che prende i dati dal db
    ' e li mette in saccoccia
    session("dvSource") = m_dv
    return m_dv
    end function
    e una funzione es.
    codice:
    public function Source as Dataview
    ' qui dentro restituisci quello che trovi nella session
    ' es.
    if not session("dvSource") is nothing then
       return ctype(session("dvSource"), dataview)
    else
       return GetSource 
    end if
    end function
    in ogni funzione della tua pagina che rende persistenti le modifiche nel db (es. insert update delete) alla fine richiami GetSource prima del databind
    Saluti a tutti
    Riccardo

  8. #8
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    sempre se capisco (mi stupisco di me stesso per quello che ho capito finora) mi stai suggerendo di lavorare sulla dataview per tutti i vari insert/update etc...

    non sono ferrato sul tema (e su molti altri) ma la dataview è una istanza dei dati che sto trattando (si chiama così?)?
    cioè se faccio modifiche sulla dataview è come se le facessi sui dati delle tabelle direttamente?


    non c'entra niente con la discussione ma un conoscente mi ha detto che col nuovo sistema operativo di Microsoft cambierà tutto nel mondo aspNet e che investire ora in formazione su aspNET è da folli... ne spete niente voi?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #9
    Originariamente inviato da supermac
    sempre se capisco (mi stupisco di me stesso per quello che ho capito finora) mi stai suggerendo di lavorare sulla dataview per tutti i vari insert/update etc...
    Il mio consiglio e' finalizzato ad ottimizzare e limitare al minimo indispensabile le query al db. Gli insert, update ecc... sono un altra questione. Puoi utilizzare la dataview oppure creare la query sql e con un command eseguirla per poi chiamare la funzione GetSource prima di rifare il databind.
    non sono ferrato sul tema (e su molti altri) ma la dataview è una istanza dei dati che sto trattando (si chiama così?)?
    con questa definizione altisonante rischi di complicare inutilmente il discorso. La dataview e' una vista sui dati presenti in una datatable. Una vista che ti offre tante possibilita in particolare per il sorting (tuadv.sort = "nomecampo") e il filtraggio (tuadv.rowfilter = "citta = 'Roma'") dei records.
    un conoscente mi ha detto che col nuovo sistema operativo di Microsoft cambierà tutto nel mondo aspNet e che investire ora in formazione su aspNET è da folli... ne spete niente voi?
    Mi sembra una sciocchezza detta probabilmente per spostare in avanti il problema dell'aggiornamento delle proprie competenze. Si sa bene gia' da tempo quali saranno i cambiamenti introdotti nel framework 2.0 (non centro il nuovo sistema operativo) e non mi sembra che "cambiera' tutto" ma semmai verranno aggiunte tante nuove funzionalita'. Ma se oggi impari ad usare la dataview, quello che hai imparato per intenderci lo userai anche con il framework 2.0.
    Saluti a tutti
    Riccardo

  10. #10
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    parole piene di saggezza, satanasso

    ritorno al mio livello lasciando le parole altisonanti e mi metto a studiare le dataview che mi torneranno utili anche col nuovo Framework

    un grazie con una G cubitale Rik e grazie anche ad Andrea70
    ;-)
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

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.