Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
DataGrid e larghezza dinamica colonne
martedì 08 novembre 2005 - 09.50
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mar 8 nov 2005 - 09:50
Dopo aver popolato il DataGrid come faccio a espandere le colonne in modo da visualizzare l'intero testo delle celle?
Per fare un esempio il risultato che vorrei è quello che succede in Excel facendo doppio click nell'intestazione di colonna.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 8 nov 2005 - 11:23
>Dopo aver popolato il DataGrid come faccio a espandere le colonne
>in modo da visualizzare l'intero testo delle celle?
In excel non bisogna fare doppio click nell'intestazione di colonna ma nella divisiona fra una cella e l'altra.
Anche con il DataGrid Windows Forms funziona allo stesso modo. Quando il cursore cambia e diventa così <--> fai un doppio click dove c'è la separazione fra colonne e avrai un autosize della colonna.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
gio 10 nov 2005 - 12:33
E' vero però mi da due complicazioni di non poco conto.
1. non è possibile farle tutte insieme come in excel. Infatti in excel selezionado tutta la griglia con un doppio clic alle divisioni di colonne tutte le colonne vanno a modificarsi a seconda del contenuto.
2. con il doppio click aprò un finestra di dettaglio e qui non riesco a capire se l'utente sta a modificare le dimensioni della colonna o appunto richiedendo il dettaglio. Infatti se l'utente ha messo lo stato attivo su qualche cella e poi clicca sull'intestazione lo stato attivo rimane sulla cella.
Un'altra cosa stranissima del DataGrid è che il doppio click all'interno della cella non viene generato se non pre sproteggere la "casella di testo" anche se ho impostato il controllo come readonly...
Ci vorrebbe qualcosa come MSHFlexGrid
Vincenzo
Programmatore sbilenco :-D
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 14 nov 2005 - 11:08
>1. non è possibile farle tutte insieme come in excel. Infatti
>in excel selezionado tutta la griglia con un doppio clic alle
>divisioni di colonne tutte le colonne vanno a modificarsi a
>seconda del contenuto.
E' vero. Per fare questo è possibile fare un ciclo sulle colonne della DataGrid, misurare quanti pixel occupa il testo più lungo per ogni colonna con il metodo MeasureString se non erro e alla fine fare un resize di tutte le colonne. Un po' macchinoso ma dovrebbe funzionare.
>2. con il doppio click aprò un finestra di dettaglio e qui non
>riesco a capire se l'utente sta a modificare le dimensioni della
>colonna o appunto richiedendo il dettaglio. Infatti se l'utente
>ha messo lo stato attivo su qualche cella e poi clicca sull'intestazione
>lo stato attivo rimane sulla cella.
Mmmh... non hai la possibilità di capire se clicca su una cella piuttosto che su un Header ?
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !