39 messaggi dal 20 ottobre 2006
avevo sottovalutato il problema...nel senso il mio datasource1 a cui e' associata la gridview e' fatto cosi'..:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SMSConnectionString1 %>"
SelectCommand="SELECT [IDRubrica], [Pre], [Nro], [Nominativo], [PrefInt], [UserID] FROM [Rubrica]"
ConflictDetection="CompareAllValues" DeleteCommand="DELETE FROM [Rubrica] WHERE [IDRubrica] = @original_IDRubrica AND [Pre] = @original_Pre AND [Nro] = @original_Nro AND [Nominativo] = @original_Nominativo AND [PrefInt] = @original_PrefInt AND [UserID] = @original_UserID"
.....ect
</asp:SqlDataSource>

Io ho fatto quello da te proposto...ma in un altro DataSource:
-----------------------------------------------------------------------
SelectCommand="SELECT * FROM [Rubrica]where Nominativo LIKE @parametro + '%' ">
<SelectParameters>
<asp:ControlParameter ControlID="dropDownListFiltroRubrica" PropertyName="SelectedValue" Name="parametro" Type="String" />
</SelectParameters>
--------------------------------------------------

Ho provato a portare queste istruzioni nel primo datasource, ma ho qualche problema ,dallo wizard lo fai, ma nn ti abilita le operazioni poi di Modifica o Elimina..! perche' nn scegli la select di una tabella...ma di una tua istruzione SQL...!
Sto sbagliando qualcosa?
652 messaggi dal 21 gennaio 2007
Contributi
i metodi di update, delete e insert non ti vengono autogenerati perchè hai inserito come select, una query parametrica.
quindi dovresti scriverteli a mano.
però, se prima fai una select normale (SELECT * FROM tabella) e ti fai generare i relativi metodi di update, delete e insert, poi basta che modifichi la query si select a mano, inserendo anche il parametro.
39 messaggi dal 20 ottobre 2006
ok fatto e funzionante..:)!
Ma nn si puo' fare evitando la chiamata al server..?
ad esempio ho trovato questo metodo
SqlDataSource1.Select(new DataSourceSelectArguments("");

..il DataSourceSelectArguments, tra i vari costruttori ne ha uno che chiede come argomento una string sortexpression...
Potrei utilizzarlo evitando la chiamata al server..??
652 messaggi dal 21 gennaio 2007
Contributi
cosa intendi per "evitare una chiamata al server" ?
per effettuare una query ad un database la chiamata al server è d'obbligo..
39 messaggi dal 20 ottobre 2006
Ciao..visto che i dati li ho gia' dopo il pageload, ti chiedevo se si poteva evitare una chiamata al server..alla fine solo per fare un filtro in ordine al
fabetico.
Se non si puo' fare altrimenti lascio quello che ho fatto.

Daniele
652 messaggi dal 21 gennaio 2007
Contributi
certo..
puoi salvarli in cache durante l'evento Load della pagina e recuperarli ad ogni postback. però dovrai cambiare completamente il modo in cui leggi i dati (non utilizzerai più un sqlDataSource, ma dovrai eseguire la connessione al database a mano) e il modo in cui li filtri.
non so quanto guadagni in termini di prestazioni però..

altrimenti puoi, ad ogni postback, prelevare il contenuto della griglia, salavarlo in un DataTable, filtrarlo e ri-eseguire il databind.
guarda questo esempio:
http://www.codeproject.com/KB/aspnet/letterbasedpaging.aspx
che fa proprio al caso tuo
39 messaggi dal 20 ottobre 2006
Ottimo esempio, con qualche piccola correzione, potrebbe proprio fare
al caso mio.
Grazie Giuseppe..:)!

Daniele

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.