Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
DropDownList Evento SelectedIndexChanged restituire colonna tabella
mercoledì 06 maggio 2009 - 23.50
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
venzo
Profilo
| Junior Member
74
messaggi | Data Invio:
mer 6 mag 2009 - 23:50
Ho un DropDownList, che ho caricato con una tabella di cinque campi. Chiaramente ho valorizzato sia DataValueField che DataTextField.
Però all'evento SelectedIndexChanged, ho bisogno di ricavare ulteriori campi della tabella collegata.
Ho visto da qualche parte la possibilità di usare e.item.cell(2).
E' possibile ricavare i dati della riga di tutto il SelectedIndex evidenziato ?
Grazie infinite.
paoval72
Profilo
| Senior Member
297
messaggi | Data Invio:
gio 7 mag 2009 - 08:47
Ciao. La dropdownlist è un controllo formato da una coppia chiave-valore: quindi dal selectedindexchanged potrai solo ricavare uno dei due (text o value).
Però, puoi usarli per fare una ulteriore select sui tuoi dati. Che tabella è o come la ricavi?
PV
venzo
Profilo
| Junior Member
74
messaggi | Data Invio:
gio 7 mag 2009 - 10:52
Si ci avevo pensato. Mi chiedevo quanto sopra, solo per evitare una nuova select, che comunque ruba tempo.
Non credi ?
paoval72
Profilo
| Senior Member
297
messaggi | Data Invio:
gio 7 mag 2009 - 11:03
Sinceramente al momento non mi vengono in mente altre proposte, visto soprattutto il controllo dropdownlist. Ti chiedevo della tabella che fa da source per capire se eventualmente fare la select non su db, ma da dati salvati in sessione. Però sempre select è!
PV
mrub
Profilo
| Junior Member
51
messaggi | Data Invio:
sab 9 mag 2009 - 14:40
L'approccio della programmazione sul web è:
elabora solo i dati strettamente indispensabili. E' molto più pesante visualizzare 5 campi per ogni record della ddl piuttosto che ricavare i campi del singolo record corrispondente alla chiave selezionata nella ddl.
cmq puoi risolvere il problema in modo relativamente efficiente utilizzando il metodo executescalar per ricavro il dato:
Di seguito 2 esempi:
onselectindexchanged...
estraicampo1(miaconn,"Tabella","nome campo corrispondente al valore selezionato", "nome campo da restituire", valore selezionato nella ddl)
oppure
estraicampo2(miaconn,"Tabella", "nome campo da restituire", "[campo chiave] = " & valore selezionato nella ddl)
Public Function estraicampo1(ByVal a_dbconn As OleDbConnection, ByVal a_tab As String, ByVal a_campoID As String, ByVal a_campo As String, ByVal a_id As Integer, Optional ByVal a_whe As String = "")
Dim miowhe As String
Try
a_dbconn.Open()
Dim miasql, estraicampotemp As String
If a_whe = "" Then
miowhe = a_campoID & "=" & a_id
Else
miowhe = "(" & a_campoID & "=" & a_id & ") AND (" & a_whe & ")"
End If
miasql = "SELECT " & a_campo & " FROM " & a_tab & " WHERE (" & miowhe & ");"
'Response.Write(miasql)
Dim miocomando As New OleDbCommand(miasql, a_dbconn)
estraicampotemp = CType(miocomando.ExecuteScalar(), String)
a_dbconn.Close()
Return estraicampotemp
Catch exc As Exception
'Response.Write("Si è verificato un errore" & exc.Message & exc.Source)
a_dbconn.Close()
End Try
End Function
Public Function estraicampo2(ByVal a_dbconn As OleDbConnection, ByVal a_tab As String, ByVal a_campo As String, ByVal a_whe As String)
Try
a_dbconn.Open()
Dim miasql, estraicampotemp As String
'miowhe = "(" & a_campoID & "=" & a_id & ") AND (" & a_whe & ")"
miasql = "SELECT " & a_campo & " FROM " & a_tab & " WHERE (" & a_whe & ");"
'Response.Write(miasql)
Dim miocomando As New OleDbCommand(miasql, a_dbconn)
estraicampotemp = CType(miocomando.ExecuteScalar(), String)
a_dbconn.Close()
Return estraicampotemp
Catch exc As Exception
'Response.Write("Si è verificato un errore" & exc.Message & exc.Source)
a_dbconn.Close()
End Try
End Function
Torna su
Stanze Forum
Elenco Threads
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 !