13 messaggi dal 14 novembre 2012
ciao

sto usando un gridview con sqldatasource.
il database è su sql 2000

quando premo CERCA,la gridview mi dovrebbe mostrare circa 4000-5000 record,poi dovrei modificare i record a piacimento

quasi mai non ci riesce perchè si blocca la pagina explorer.

cosa mi consigliate di fare? esiste un altro controllo dati da dover usare in qusisti casi o è giusto usare il gridview?

poi leggevo di usare l'oggetto cache da cui caricare i dati

grazie mille per l'aiuto perchè ne ho bisogno.
Modificato da fabiomc il 30 settembre 2013 16.38 -
Posta un po' di codice. I record li mostri su una pagina web o ti servono per qualche esportazione? Li mostri paginati? Mostri tutte le colonne o solo alcune?
Le risposte a queste domande ti permettono varie opzioni:
1. limitare la select * alle sole colonne di interesse
2. In caso di paginazione restituire solo i record di interesse con paginazione lato sql oppure caricando solo i top 500 (chi è che va sulle pagine più avanti? :) )
3. Se fai delle elaborazioni, falle solo per i record della pagina corrente.
4. Se fai delle esportazioni pensa se si può elaborare i dati in maniera asincrona magari di notte.

Ormai programmano tutti... ma la professionalità appartiene a pochi
13 messaggi dal 14 novembre 2012
ciao ecco le risposte

1) In caso di paginazione restituire solo i record di interesse con paginazione lato sql oppure caricando solo i top 500 (chi è che va sulle pagine più avanti? :) )

--> usano tutti i 3000 record perchè si tratta di un listino prodotti per tutti i clienti del mondo.

2) Se fai delle esportazioni pensa se si può elaborare i dati in maniera asincrona magari di notte.

--> non si tratta di un esportazione.

una volta caricati i record, loro devono iniziare a inserire per ciascuno sconto,prezzo,margine industriale,etc..

3) la gridview è collegato ad un sqldatasource e il codice è il seguente:
SqlDataSource1.SelectCommand = "select * from tappoggio"

ci saranno 12 colonne e servono tutte per il caricamento

--------------------------------
è come se invece di lavorare con file excel di 4000 record,lavorassero con asp.net
Ma è un requisito avere i 4000 record in una pagina? Ci sono dei totali da aggiornare?
Potresti anche caricare i primi n record all'apertura della pagina e caricare un (o altri n) record aggiuntivo via Ajax man mano che l'utente scorre la pagina verso il basso. Ogni tot salvare i dati se modificati.
Altra domanda: non so se lo stai già facendo, ma non puoi mostrare il listino per un singolo cliente o per singolo prodotto? Potrebbe aiutare a diminuire il numero di record?

Ormai programmano tutti... ma la professionalità appartiene a pochi
13 messaggi dal 14 novembre 2012
ciao

non è un requesito. difatti ne mostro circa 800 a pagina,quindi la gridview contiene circa 5-6-7-8pagine.
e purtroppo si blocca anche se solo tento di andare alla pagina 2.

come si può usare questa utilità con Ajax? hai qualche esempio per cortesia ?

ho implementato anche la tua ultima soluzione proposta ma vedo che è lentissimo anche con solo 500 record ,anzi si blocca ugualmente appena la pagina viene caricata

forse gridview non è il componente opportuno?
che ne pensi?

grazie Manuel
Prego, cerco solo di dare una mano. Purtroppo Gridview carica comunque tutti i record quindi o passi a una paginazione lato sql oppure fai l'elaborazione solo sulla pagina corrente. Puoi postare del codice? Ad esempio che operazioni fai al binding o OnDataBound?

Ormai programmano tutti... ma la professionalità appartiene a pochi
13 messaggi dal 14 novembre 2012
in databound non c'è niente

quando premo il tasto cerca,nel codice c'è la seguente associazione:

SqlDataSource1.SelectCommand = "select * from tappoggio"
GridView1.DataBind()

come vedi non c'e niente di complesso o calcoli da fare.
Come soluzione suggerirei o un componente di terze parti simile alla gridview o la paginazione lato server oppure provare. Potresti anche provare a disabilitare il viewstate sulla gridview per vedere se le prestazioni migliorano.
Trovi un articolo interessante qui:
http://forums.asp.net/t/1386053.aspx

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.