Ricerca

domenica 09 settembre 2007 - 18.29

gae58 Profilo | Senior Member

salve,

ho creato una gridView collegata ad una database ed un campo textBox per la ricerca.

Nel linguaggio che ho usato sinora, utilizzavo il comando find. in sql c'è un comando del genere o bisogna usare la clausola where.

Se però si usa la clausola where, gli altri dati non vendogno più visualizzati, mentre a me interessa sempre avere la lista , ma con il posizionamento sulla riga che è stata ricercata.

grazie

Gaetano

Brainkiller Profilo | Guru

>Nel linguaggio che ho usato sinora, utilizzavo il comando find.
>in sql c'è un comando del genere o bisogna usare la clausola
>where.

Dipende. Se vuoi una selezione dei dati sul server usi la Where se sul client si usa qualcosa di diverso.

>Se però si usa la clausola where, gli altri dati non vendogno
>più visualizzati, mentre a me interessa sempre avere la lista
>, ma con il posizionamento sulla riga che è stata ricercata.

Allora, io ho utilizzato qualcosa del genere. Ho fatto una TextBox con un Button e sotto la GridView con tutti i dati. Tu digiti qualcosa nella TextBox e premi il pulsante, viene fatto un postback sul server e vengono recuperati i dati che corrispondono alla query di ricerca e bindati di nuovo alla gridview. Così facendo la GridView è filtrata. Poi con un altro pulsante resetti la ricerca e quindi ti ricarica tutti i dati nuovamente.

Se poi inserisci il tutto in un UpdatePanel AJAX l'interattività cresce esponenzialmente per l'utente.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

gae58 Profilo | Senior Member

scusa se preciso. Quindi devo usare where.

La lunghezza o la precisione di quello che si scrive nella textBox, potrà restituire il singolo nominativo o i nominativi che iniziano per quella stringa.
Giusto?

Forse la cosa che non mi entra nella testa è che su internet a differenza di applicazioni windows, non posso avere nella grid tutti i movimenti che compongono la tabella, ma solo quelli che vengono visualizzati. (spero di non dire una sciocchezza) e quindi per qualsiasi cosa che non sia visualizzata sul client è necessario fare una nuova richiesta al server.
giusto?

grazie
Gaetano

Brainkiller Profilo | Guru

>scusa se preciso. Quindi devo usare where.

In genere sì, poi dipende.

>La lunghezza o la precisione di quello che si scrive nella textBox,
>potrà restituire il singolo nominativo o i nominativi che iniziano
>per quella stringa.
>Giusto?

Il comportamento lo scegli tu. Che iniziano oppure che contengono quella sottostringa.

>Forse la cosa che non mi entra nella testa è che su internet
>a differenza di applicazioni windows, non posso avere nella grid
>tutti i movimenti che compongono la tabella, ma solo quelli che
>vengono visualizzati. (spero di non dire una sciocchezza) e quindi
>per qualsiasi cosa che non sia visualizzata sul client è necessario
>fare una nuova richiesta al server.
>giusto?

Esatto, in genere funziona così. Ci sono anche soluzioni che prevedono di sparare tutto il set di dati sul client e poi con particolari tecniche Javascript / DHTML altro, far vedere o meno certi dati e nasconderne altri. Da un certo punto di vista però è inutile richiedere 1000 record se poi alla fine ne devono esser visualizzati solo 3. No ?

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5