+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 5 su 5

Discussione: stampare datagrid con query

  1. #1
    paoloet non è in linea Novello
    Post
    42

    stampare datagrid con query

    ciao ragazzi,

    ho un problema:

    ho un datagrid in cui carico i dati di una query e utilizzo il codice

    codice:
    Me.TabellapzTableAdapter.FillByCognome(Me.Datasetpz.Tabellapz, TextBox1.Text)
    poi vorrei stampare i dati che vengono visualizzati sulla dg utilizzando il codice fornito da Gandalfrank che funziona benissimo su dg senza query ma nel mio caso quando lo eseguo mi da un errore nel momento in cui pesca i dati dalle celle o almeno credo ...
    di seguito il codice
    codice:
    'Testo da inserire nelle celle della tabella
            Dim testo1 As String
            'Disegna e riempe tutte le celle della tabella
            For i As Integer = righeStampate To righeStampate + righePerPagina - 2
                posX = (e.MarginBounds.Width - 1000) + e.MarginBounds.Left
                'Se le righe stampate sono tutte interrompe il ciclo For…Next
                If i = righeTotali Then
                    e.HasMorePages = False
                    Exit For
                End If
    
                'celle codice
                testo1 = TabellapzDataGridView.Rows(i).Cells(Me.TabellapzDataGridView.Columns(1).Name).Value.ToString
    l'errore è proprio sull'ultima riga
    codice:
    TabellapzDataGridView.Rows(i).Cells(Me.TabellapzDataGridView.Columns(1).Name).Value.ToString
    e come errore risulta "nullreferenceexception non è stata gestista"

    mi potete dare qualche dritta

    grazie

  2. #2
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    308
    Secondo me hai due possibilità:
    1) Gestisci il valore NULL a livello query con ISNULL(campo,''), cosi ritorna una stringa nulla e non hai problemi di cast.
    2) inserisci l'assegnazione in un blocco Try...Catch e nel blocco Catch assegni a testo1 una stringa vuota.

  3. #3
    paoloet non è in linea Novello
    Post
    42

    Talking

    Ciao Sgrubak e grazie per l'attenzione

    non so se dico bene cmq quello che non quadra è il fatto che nella cella c'è un valore numerico che non può essere null;
    ho provato entrambe le tue soluzioni ma non ho risolto (premetto che sono un principiante e sicuramente avrò sbagliato qualcosa)

    Ho invece risolto, ovviamente con tantissima casualità e fortuna, per non usare termini volgari , togliendo l'elemento ToString.
    praticamente il codice funzionante è il seguente:
    codice:
    testo1 = TabellapzDataGridView.Rows(i).Cells(Me.TabellapzDataGridView.Columns(1).Name).Value
    non chiedetemi perchè o come ... non saprei rispondervi

    se avete voi qualche idea, sono tutto orecchie....

  4. #4
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    308
    Mi sembra molto strano... Se rimetti il ToString, cos'è impostato a Null? La proprietà Value o l'oggetto Rows(i)

  5. #5
    paoloet non è in linea Novello
    Post
    42
    Ciao Sgrubak,

    non saprei risponderti...
    ho rimesso il tostring ma non mi da più errore!
    l'unica cosa che ho modificato sono i dati presenti in tabellla(hihihi): praticamente all'inizio avevo copiato i dati da un vecchio progetto che era stato pubblicato e installato su un pc, prendendoli direttamente da un dgv e gli ho incollati nella tabella del nuovo progetto; cosi mi sono portato dietro caratteri come spazi etc perchè i campi originali erano nchar(20) e non mi funzionavano le query di ricerca testo; ora invece prima di incollarli gli ho ripuliti da spazi etc e sembra funzionare tutto!!!

+ Rispondi al Thread

Permessi di invio

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