Come scegliere un controllo griglia indicizzabile
Domanda
Di recente ho iniziato a lavorare con ASP.NET 3.5, avendo precedentemente lavorato con C # e WinForms (principalmente .NET 1.1) per circa 6 anni.
La mia testa gira ogni volta che devo consentire all'utente di visualizzare, aggiungere / rimuovere o modificare un elenco di elementi. Ciò è dovuto alle somiglianze e alle differenze dei seguenti controlli
- DataGrid
- GridView
- ListView
- DataList
Qualcuno può indicarmi la giusta direzione di una bella lista che fa un confronto fianco a fianco di questi controlli?
Qual è il tuo "preferito" o il tuo preferito per alcuni scenari particolari?
Soluzione
Risposta breve, ad eccezione di listview, fanno tutti schifo ;-) A seconda della tua situazione particolare, probabilmente vorrai guardare in una griglia più completa da una terza parte, come telerik o devexpress.
risposta lunga, dipende da cosa vuoi fare.
DataGrid e DataList sono principalmente disponibili per la compatibilità con le versioni precedenti. GridView e DataList sono migliori delle versioni precedenti.
GridView è per quando si desidera visualizzare una griglia di dati. Ti dà le operazioni CRUD (crea l'eliminazione dell'aggiornamento di lettura) per lo più gratuitamente, e ha anche il paging e l'ordinamento per lo più gratuitamente (a seconda del tipo di origine dati che stai utilizzando)
DataList è per quando si desidera un elenco di valori più libero.
ListView (e datapager) è il nostro marchio che integra il nuovo controllo asp 3.5 ed è ancora più gratuito rispetto a DataList. Ti consente di impostare un modello di layout con quello che ti piace e un modello di elemento che si ripeterà per ciascun elemento nell'elenco. Inserite un elemento contenitore (div / panel / segnaposto) nel modello di layout, quindi dite al controllo quale è e ripeterà il modello di elemento in esso per ciascun elemento nell'elenco.
Puoi anche puntare un controllo DataPager su di esso e ottenere il paging principalmente gratuitamente.
A seconda del tipo di sito che stai facendo, l'utilizzo dei controlli di dati integrati (diversi da ripetitori e listview) potrebbe finire per dipingerti in un angolo, poiché hanno un sacco di sovraccarico allora necessario. Se è un piccolo progetto unico, questo non è un grosso problema. Se è un grande progetto in cui perf sarà un problema, consiglierei di nuovo di controllare i controlli di terze parti.