2010-05-24 7 views
7

Sto sviluppando un'applicazione commerciale MVC2 che richiede una griglia con aggiornamento della richiamata in qualche modo per supportare oltre 10.000 righe. Dovrebbe anche supportare contenuti relativamente ricchi (icone, descrizioni multilinea, ecc.). Sebbene richieda le solite funzionalità di paging/scrolling/sorting, non ha bisogno di supporto per il raggruppamento. Quindi niente di speciale.Quale datagrid utilizzare per il progetto ASP.NET MVC2?

Le reti commerciali che ho esaminato erano Component Art e Telerik che sembrano entrambe abbastanza buone ma potrebbero essere un po 'OTT per ciò di cui ho bisogno. Sono anche $ 800 e $ 999 rispettivamente (1 sviluppatore).

Ho anche guardato jqGrid e la griglia da MvcContrib. Questi sembrano ok ma per un'applicazione commerciale sono preoccupato che queste potrebbero essere opzioni rischiose - anche se potrebbero esserci di sbagliato lì.

Apprezzerei molto qualsiasi vista/esperienza su entrambe le griglie di cui sopra o forse è possibile suggerire una migliore opzione/approccio.

FYI Sto usando EF4 e C#.

risposta

5

Ho un bel po 'di esperienza con jqGrid, le griglie di DevExpress e telerik, oltre a ExtJS. Di gran lunga, il mio preferito del gruppo è jqGrid. Non mi preoccupo della mancanza di supporto o del progetto che sta andando via. Recentemente hanno introdotto una griglia ridisegnata per l'utilizzo con MVC: http://www.trirand.com/blog/?p=639

telerik e DevExpress sono entrambi eccellenti a modo loro. Un mio amico ha avuto problemi con il modello eventing della rete telerik, e ho riscontrato un bel po 'di html bloat dalla griglia DevExpress. telerik ha un grande supporto per fare cose come riordinare le colonne sul lato client, mentre la griglia DevExpress richiede una richiamata per farlo.

ExtJS è meraviglioso, ma credo davvero che sia una griglia JavaScript molto pesante. Le prestazioni in IE possono essere terribili con la griglia ExtJS.In genere funziona bene se non si dispone di molte colonne o non si tenta di inserire più di una griglia in una pagina. Dovrai evitare di inserire le griglie di ExtJS nei controlli Tab, poiché sorgono tutti i tipi di problemi quando la griglia viene sottoposta a rendering su un elemento non visibile.

In realtà abbiamo appena deciso di passare tutte le griglie utilizzate nel nostro sistema di reporting alle griglie Silverlight di telerik, che si comportano magnificamente rispetto alle loro controparti JavaScript.

Spero che questo aiuti e buona fortuna.

+0

Jeff, questo è un eccellente consiglio, grazie. Ho dato una breve occhiata a jqGrid ma ora passerò una valutazione completa di questo. Silverlight sarebbe bello ma non è davvero un'opzione per questo progetto. –

4

Onestamente, è possibile sviluppare il proprio con MVC piuttosto facilmente dandovi tutto ciò di cui avete bisogno. Anche se suppongo che se hai bisogno di qualcosa di veloce che funzioni, la griglia MvcContrib è fantastica.

+0

Grazie Chris. Puoi indicarmi la direzione di eventuali campioni o risorse consigliati? –

+0

È possibile iniziare con un ciclo foreach che esegue il rendering di una singola riga di tabella con ciascuna iterazione –

+0

+1 per MvcContrib. Lo uso, per la maggior parte delle attività di rete funzionerà perfettamente. Se sei alla ricerca di una funzionalità più completa, Telerik o DevExpress sono la soluzione giusta. –

0

C'è una griglia DevExpress più o meno come Telerik, che potrebbe essere di nuovo al top per voi. Tuttavia è possibile acquistare la griglia da sola anziché nell'intera suite, anche se potrebbe non valerne la pena dato che la griglia è quasi la metà del prezzo della suite.

+0

Grazie - meglio se la griglia è un prodotto separato sì. Tuttavia non riesco a vedere alcuna menzione di MVC - o l'ho perso? –

+0

Ok mi sono imbattuto in questo: http://www.devexpress.com/Support/Center/KB/p/K18375.aspx quindi sembra che supporti MVC2 - bisogno di leggere di più su questo però come non menzionare sulla loro 'brochure ' luogo. –

+0

Questo è un buon punto MVC è una nuova aggiunta per DevExpress. Non posso dire di averlo provato al di fuori di webforms, quindi forse non è la scelta migliore a meno che non abbiate il tempo di sperimentare con la versione di prova. – PeteT

0

Il mio ultimo tentativo di componenti per ASP.NET MC non era riuscito. È molto più difficile avere un controller per MVC quindi per ASP.NET vecchia scuola.

  • l'instradamento del controll si aspetta che deve MAPP bene per l'instradamento della vostra applicazione
  • le cose si fanno molto più difficile quando si hanno più di 1 griglia sulla pagina
  • se il controll deve lavorare per non Javascript abilitato clienti le scelte sono ancora più limitate
  • se il tasto indietro del browser deve lavorare la vostra scelta è ancora più limitata

Nel mio caso si è scoperto che era molto meglio usare plain html e jquery per realizzare il paging, l'ordinamento e il filtraggio di un tavolo. Vorrei tracciare la linea se il tuo sito è più un sito pubblico (come il mio) o un'applicazione che ha un front-end web.

+0

Ciao Malcolm. Penso di aver vissuto un'esperienza simile nelle ultime settimane. La nostra applicazione è un'app web aziendale di media dimensione con un numero significativo di schermate relativamente complesse (controlli multipli, griglia, ecc.). Ho faticato con il passaggio da ASP.NET a MVC, non a causa dell'architettura/approccio, ma a causa della complessità legata alla realizzazione di una grande esperienza utente senza un enorme investimento in jQuery e controlli associati (nella fase iniziale). Questo è troppo rischioso per noi e ora siamo tornati sui moduli Web ASP.NET 4.0. Senza dubbio tornerò su MVC! Thx –

+0

Penso che tu abbia fatto la scelta giusta. Il mio progetto è un sito web pubblico e MVC era un buon framework da usare. Per il tuo progetto Viewstate sembra un regalo dal cielo. –

0

Recentemente ho fatto delle ricerche su questo e il vincitore è stato jQgrid per le prestazioni è il migliore!

+0

Sì, sono d'accordo. Il jQGrid ha molte funzionalità utili, è facile da programmare contro, dall'aspetto professionale e ci sono molti articoli là fuori che ti aiutano ad ottenere il massimo da esso. – Peanut

1

dare un'occhiata al datagrid del MVC Controls Toolkit. Sembra abbastanza flessibile. Permette la modifica, cancellazioni, inserimenti e paging. Inoltre è davvero facile spostare le modifiche in un DB nel controller. Guardalo here.

Problemi correlati