Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [VB.NET] Impostare larghezza colonne DataGrid

    codice:
    strSql = "SELECT * FROM miaTabella"
    mioAdapter.SelectCommand = New OleDbCommand(strSql, miaConnessione)
    mioAdapter.Fill(mioDataSet, "miaTabella")
    mioDataGrid.DataSource = mioDataSet
    mioDataGrid.DataMember = "miaTabella"
    Questo è ciò che io faccio per riempire il mio DataGrid.
    Mi chiedo, visto che la larghezza delle colonne del mio DataGrid mi viene impostata automaticamente in maniera univoca per tutte le colonne, come potrei associare a ciascuna colonna una precisa dimensione?
    Vi ringrazio in anticipo.
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  2. #2
    Ho fatto qualche ricerca e ho provato a fare una cosa del genere:

    codice:
    Dim colStyle As GridColumnStylesCollection
    colStyle = DataGrid1.TableStyles(0).GridColumnStyles
    colStyle(0).Width = 100
    colStyle(1).Width = 50
    colStyle(2).Width = 50
    colStyle(3).Width = 60
    colStyle(4).Width = 70
    colStyle(5).Width = 50
    colStyle(6).Width = 120
    Solo che in fase di compilazione mi viene restituita una System.NullReferenceException.

    Qualcuno mi sa aiutare?
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  3. #3
    Allora, sono riuscito a capire chi mi sollevava quall'eccezione.

    Ricapitolando:

    codice:
    'Prepariamo i dati da inserire nel datagrid:
    strSql = "SELECT * FROM miaTabella"
    mioAdapter.SelectCommand = New OleDbCommand(strSql, miaConnessione)
    mioAdapter.Fill(mioDataSet, "miaTabella")
    mioDataGrid.DataSource = mioDataSet
    mioDataGrid.DataMember = "miaTabella"
    
    'Formattiamo le colonne:
    Dim stileTabellaDataGrid As New DataGridTableStyle
    Dim stileColonne As GridColumnStylesCollection
    DataGrid1.TableStyles.Add(stileTabellaDataGrid)
    stileColonne = DataGrid1.TableStyles(0).GridColumnStyles
    
    'Adesso modifico il valore della larghezza delle colonne:
    
    stileColonne(0).Width = 40 'questo solleva eccezione
    stileColonne(1).Width = 50 'questo solleva eccezione
    stileColonne(2).Width = 60 'questo solleva eccezione
    stileColonne(3).Width = 70 'questo solleva eccezione
    Come mai?
    Il mio Database contiene 7 colonne per quella tabella!
    Ho provato a controllare il numero di colonne così:

    codice:
    contiamo = stileColonne.Count
    Console.WriteLine(contiamo)
    ...ma mi restituisce 0...
    Mi sapete dire come mai?
    Vi ringrazio anticipatamente.
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  4. #4
    Ragazzi, ci sono riuscito.
    Per chi fosse interessato, ecco il codice:

    codice:
    Dim dataAdapter As New OleDbDataAdapter
    Dim strSql, cosaAprire As String
    Dim dataSet As New DataSet
    Dim DataGrid1 As DataGrid
    Me.Controls.Add(DataGrid1)
    strSql = "SELECT * FROM Tabella
    dataAdapter.SelectCommand = New OleDbCommand(strSql, objCn)
    dataAdapter.Fill(dataSet, cosaAprire)
    Me.DataGrid1.DataSource = dataSet
    Me.DataGrid1.DataMember = "Tabella"
    Dim stileTabellaDataGrid As New DataGridTableStyle
    stileTabellaDataGrid.MappingName = "Tabella"
    Dim stileColonne As GridColumnStylesCollection
    DataGrid1.TableStyles.Add(stileTabellaDataGrid)
    stileColonne = DataGrid1.TableStyles(0).GridColumnStyles
    stileColonne(0).Width = 100
    stileColonne(1).Width = 200
    stileColonne(2).Width = 40
    'e così via per tutte le colonne
    Spero di non aver tralasciato niente.
    Ciao.
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    113
    Ciao!!

    ho provato la tua soluzione finale in un mio programma, in cui praticamente facevo le stesse cose che hai fatto tu...
    però in fase di compilazione mi viene restituita una
    System.ArgumentOutOfRangeException
    mi sai dire perchè? forse ho tralasciato io qualcosa?

    se riuscissi a darmi qualche dritta mi saresti veramente di aiuto...
    GRAZIE in anticipo

  6. #6
    L'errore è dovuto al fatto che fai riferimento ad un oggetto inesistente.

    Prova a postarmi il codice.
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    113
    il mio codice è proprio identico al tuo (a parte ovviamente i nomi utilizzati). l'unica differenza è che io realizzo una connessione al database e genero il database in fase di progettazione.
    Potrei sbagliarmi, ma non mi sembra che crei problemi...

    Ma tu nel datagrid visualizzi tutte le colonne del database?

  8. #8
    Originariamente inviato da stekimir
    il mio codice è proprio identico al tuo (a parte ovviamente i nomi utilizzati). l'unica differenza è che io realizzo una connessione al database e genero il database in fase di progettazione.
    Potrei sbagliarmi, ma non mi sembra che crei problemi...

    Ma tu nel datagrid visualizzi tutte le colonne del database?
    Anch'io popolo il DataGrid in fase di esecuzione. Non nè ho riportato il codice relativo perchè lo ritenevo inutile ai fini del problema.

    Ma, indipendentemente dagli stili di tabella che crei, riesci a popolare il DataGrid con il tuo DataSet?
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    113
    riesco perfettamente a popolare il datagrid, il problema si presenta quando voglio utilizzare gli stili

  10. #10
    E' molto strano...
    A me il codice funziona perfettamente.
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

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.