DataGridView / ListView - Visualizza in stile Outlook?
-
19-08-2019 - |
Domanda
Sono abituato a utilizzare Telerik Grids e sono in grado di visualizzarli in uno stile di prospettiva, ad esempio un'immagine all'estrema sinistra, un titolo in grassetto e alcune altre righe di testo sotto il titolo principale.
Esiste un modo per farlo utilizzando un controllo Windows .Net2.0 standard? O con un controllo economico o la vista dati esistente o la vista elenco?
Fondamentalmente, devo essere in grado di produrre un layout come segue:
Job Title
Engineer: Fred Bloggs
Product: Some random product
Quindi, avrò circa 2000 di questi elementi in una griglia con un'immagine di stato accanto a ciascuno di essi, qual è il modo migliore per raggiungere questo obiettivo?
Soluzione
Ecco una guida sull'uso di una visualizzazione elenco per l'elenco. Vorrei andare con l'elenco perché avrai solo una colonna, quindi non è necessario per la griglia.
Vuoi usare:
private void lstItems_DrawItem(object sender, DrawItemEventArgs e)
Quindi usa e.Graphics per ottenere un oggetto su cui puoi disegnare direttamente.
Ho usato questo tutorial per aiutarmi a imparare a disegnare in ListView
Altri suggerimenti
Non posso darti un esempio perché non ho tempo di scriverlo in questo momento, ma potresti creare un UserControl che delinea la riga come vorresti vederlo. Quindi dovresti creare il tuo DataGridViewCell che può gestire un UserControl anziché i tipi di celle standard forniti da MS. Per ciascuna delle voci, crea e compila il controllo utente e aggiungilo a un'altra riga in DataGridView.
Ho cercato la stessa cosa. Mi sono appena imbattuto in qualcosa di interessante. Dai un'occhiata al Power Pack 3.0 di Visual Basic gratuito (puoi fare riferimento a questo da qualsiasi linguaggio .NET incluso c #):
http://msdn.microsoft.com/en-us/vbasic /bb735936.aspx
Fondamentalmente ti consente di progettare una singola riga con qualsiasi controllo tu voglia e quindi ripete quella riga con i tuoi dati associati