Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151

    [VB.NET] Visualizzare record con DbGrid

    Ciao a tutti, ho un piccolo problemino relativo alla visualizzazione delle righe in una dbGrid.
    Ho questo codice:
    codice:
    cmd.Connection = cn
    cmd.CommandText = "SELECT Assicurazioni.Assicurazione, Uffici.Ufficio, Comuni.Comune,Assicurazioni.Indirizzo,Assicurazioni.Telefono,Assicurazioni.Fax,Assicurazioni.Email,Assicurazioni.Web FROM Uffici RIGHT JOIN (Comuni INNER JOIN Assicurazioni ON Comuni.ID_Comune = Assicurazioni.ID_Comune) ON Uffici.ID_Ufficio = Assicurazioni.ID_Ufficio;"
    daPerizie.SelectCommand = cmd
    daPerizie.Fill(dsPerizie)
    dbGrid.DataSource = dsPerizie
    Tutto funziona, ma quando vado a visualizzare la griglia, non mi fa vedere le righe, o meglio, sono compresse e le devo espandere cliccando sul + che c'è nella griglia.
    Come evitare questo e fare in modo di vedere subito le righe?
    Allego l'immagine della griglia per farvi capire meglio..
    Immagini allegate Immagini allegate
    Jupy

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    c'è un opzione nel datagrid per evitare questo ma ti giuro adesso che nn ho visual studio sotto mano non me la ricordo.

  3. #3
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, anche io immagino che ci sia quanche opzione da impostare..ma ho guardato tutte le proprietà e non ho trovato nulla... se qualcuno sa come fare, o magari sbaglio qualcosa.. si faccia avanti..
    Jupy

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    imposta allownavigation a false.

  5. #5
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, purtroppo non è quella proprietà...nel senso, che si mi fa scomparire il + ma la griglia non mi visualizza i record.
    Jupy

  6. #6
    ciao jupy64, devi impostare un datagridstyle e poi un insieme di datagridtextcolumn.... per ogni colonna potrai impostare nome e larghezza... prova e fammi sapere... conveniene che alla grid assegni la tabella e non il dataset...
    I database... la mia passione + o -

  7. #7
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    codice:
    dbGrid.DataSource = dsPerizie

    provato oltre a questo a impostare il datamember ???

    e le colonne le fai creare al datagrid o le crei te ???

  8. #8
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, allora facendo le sottostanti modifiche, funziona tutto.
    codice:
    daPerizie.Fill(dsPerizie, "Assicurazioni")
    dbGrid.DataSource = dsPerizie.Tables("Assicurazioni")
    x cassano
    il datamember non l'ho impostato, è necessario?
    le colonne le crea in automatico la griglia..e a tal proposito, come posso modificare le intestazioni delle colonne nella griglia? penso che dovrei seguire quanto detto da power.mobile..

    x power.mobile
    ho provato a fare quanto dici, ha impostare un datagridstyle, anche perchè vorrei cambiare l'intestazione delle colonne, ma non ottengo nessun risultato, le intestazioni rimangono sempre quelle dei campi della tabella... dove sbaglio?
    Io vado nella proprietà TableStyles e qui aggiungo un DataGridTablesStyle, poi dall'insieme GridColumnStyles aggiungo un DataGridColumnStyle e in MappingName metto il nome del campo che mi interessa e in HeaderText metto la descrisione che voglio compaia nell'intestazione della colonna.. è giusto?

    Altra cosa, per leggere i record corrente, selezionato nella griglia, direttamente dal dataset, devo fare tutta questa roba:
    codice:
    txtAssicurazione.Text = CType(dsPerizie.Tables(0).Rows(dbGrid.CurrentRowIndex).Item(0), String)
    Grazie per il vostro aiuto..
    Jupy

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Ti richiede di espandere le tabelle in quanto assegni alla proprietà DataSource il riferimento ad un DataSet, che contiene un insieme di tabelle.

    Quindi, la griglia poi ti consente di espandere la tabella che vuoi visualizzare.

    Assegna a DataSource la tabella di interesse e il gioco è fatto, oppure valorizza la proprietà DataMember.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, si infatti con le modifiche apportate, passandogli il nome della tabella, non compare più il + per espandere...
    Ora però ho un'altra domanda, visto che con un DataTable non ho il problema che mi dava il DataSet
    codice:
    Dim dt As New DataTable
    daPerizie.Fill(dt)
    dbGrid.DataSource = dt
    è meglio usare il DataSet o il DataTable?
    Jupy

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 © 2025 vBulletin Solutions, Inc. All rights reserved.