PDA

View Full Version : [C#]In cerca di un controllo...padre/figlio


Jay85
19-10-2009, 08:18
Buongiorno, premetto che sto utilizzando un db sql e asp.net o meglio c# come linguaggio di programmazione. Sto cercando un controllo simile al listbox ma che all'interno dia la possibilità di visualizzare i contenuti come un treeView.... Praticamente avendo a disposizione due id (uno padre e uno figlio) far visualizzare di conseguenza i contenuti... ne conoscete per caso uno?:mc:

MarcoGG
19-10-2009, 09:48
Il migliore per visualizzare elementi in uno schema gerarchico, forse è quello che hai già nominato, il TreeView. In alternativa, altro controllo che permette di avere Items, SubItems e raggruppamenti è la ListView.
Altra tecnica possibile è creare una Form Master-Detail con i DataGridView :
http://msdn.microsoft.com/it-it/library/c12c1kx4(VS.80).aspx

I-Warrior
20-10-2009, 14:08
Il migliore per visualizzare elementi in uno schema gerarchico, forse è quello che hai già nominato, il TreeView. In alternativa, altro controllo che permette di avere Items, SubItems e raggruppamenti è la ListView.
Altra tecnica possibile è creare una Form Master-Detail con i DataGridView :
http://msdn.microsoft.com/it-it/library/c12c1kx4(VS.80).aspx

ciao rispondo con un altro account ma sono sempre Jay....

il controllo TreeView mi permette il bind solo con una risorsa tipo siteMapNode (da quel che ho visto poi se mi sbaglio correggimi)...
il controllo Master/Detail lo conosco già ma nn è quello che cerco...ho trovato un controllo su (obout treeView.net) che mi permette di visualizzare il rapporto padre/figlio proprio come cerco io... ma forse devo spiegare meglio cosa sto facendo.

Mettiamo che sto creando un programma per gestire le note (appuntamenti, richieste, appunti) e che voglia dare la possibilità da una nota che ho creato di allegarne un'altra ... in questo menu ( a + e - ...come annidati)mostro solo una parte della nota (l'oggetto) se la seleziono voglio che mi apra un gridview (o altro) per visualizzare tutti i dettagli...(data, tipologia della nota, cliente, autore, ecc...)

Il punto è che con il controllo che ho trovato non ho la possibilità di assegnare un id o un valore di riconoscimento a cui poter legare il gridview con il metodo master/detail ... sono stata chiara nella spiegazione?

MarcoGG
21-10-2009, 11:32
Mettiamo che sto creando un programma per gestire le note (appuntamenti, richieste, appunti) e che voglia dare la possibilità da una nota che ho creato di allegarne un'altra ... in questo menu ( a + e - ...come annidati)mostro solo una parte della nota (l'oggetto) se la seleziono voglio che mi apra un gridview (o altro) per visualizzare tutti i dettagli...(data, tipologia della nota, cliente, autore, ecc...)


Il discorso del Master-Detail è una pura formalità. Nella maggior parte dei casi si hanno 2 controlli, con il secondo che dipende da quanto è selezionato sul primo e le tecniche possibili sono infinite.
Da quanto ho capito potresti risolvere con una ListBox / ListView ecc... per il Master, e una DataGridview per il Detail. Il binding in automatico poi non è che risparmi questo gran codice. Basta passare un ID al DataSet della DataGridView e con poche righe di codice ci si crea il proprio binding...
Avere il Master-Detail su un'unico componente penso sia possibile solo con i controlli più evoluti di .NET, tipicamente i DataGrid, cosa che non mi sono mai preso la briga di sperimentare, anche perchè è molto più semplice e logico gestire in modo separato ciò che nel DB è separato.
Ovviamente controlli Grid molto avanzati e "sfiziosi" si trovano in molte librerie esterne per .NET, in primis NetAdvantage di Infragistics...

Jay85
22-10-2009, 10:56
Il discorso del Master-Detail è una pura formalità. Nella maggior parte dei casi si hanno 2 controlli, con il secondo che dipende da quanto è selezionato sul primo e le tecniche possibili sono infinite.
Da quanto ho capito potresti risolvere con una ListBox / ListView ecc... per il Master, e una DataGridview per il Detail. Il binding in automatico poi non è che risparmi questo gran codice. Basta passare un ID al DataSet della DataGridView e con poche righe di codice ci si crea il proprio binding...
Avere il Master-Detail su un'unico componente penso sia possibile solo con i controlli più evoluti di .NET, tipicamente i DataGrid, cosa che non mi sono mai preso la briga di sperimentare, anche perchè è molto più semplice e logico gestire in modo separato ciò che nel DB è separato.
Ovviamente controlli Grid molto avanzati e "sfiziosi" si trovano in molte librerie esterne per .NET, in primis NetAdvantage di Infragistics...

ok quindi dovrei cercare un controllo avanzato come nel pacchetto che hai citato per ultimo... purtroppo nn sono io che decido .. se vogliono una struttura master/detail su un unico controllo devo dargliela grazie per l'aiuto provo a cercare ancora..:)

Jay85
24-10-2009, 15:54
up:mc:

riuscito a fare tutto utilizzando treeView in dotazione negli strumenti standard. Ho lavorato di codice andando a creare un Hierarchical data source popolando rootlevel e sublevel.