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
Errore bindingsource
giovedì 28 novembre 2013 - 23.28
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
Visual Studio 2008
Zagor60
Profilo
| Junior Member
159
messaggi | Data Invio:
gio 28 nov 2013 - 23:28
salve,
in vb.net aundo carico i dati nei rispettivi textbox e combobox mi esce il seguente errore:
"In questo modo l'insieme avrebbe due associazioni alla stessa proprietà. Nome parametro: binding"
di seguito il codice:
sql = "SELECT idcliente,cognome,nome FROM tabclienti
ds = New DataSet("tabclienti")
da = New SqlDataAdapter(sql, Conn)
da.Fill(ds, "tabclienti")
bs = New BindingSource
bs.DataSource = ds
bs.DataMember = "tabclienti"
txtidcliente.DataBindings.Add("text", bs, "idcliente")
cmbcognome.DataBindings.Add("text", bs, cognome")
cmbinome.DataBindings.Add("text", bs, "nome")
l'errore mi esci sulla prima riga:
txtidcliente.DataBindings.Add("text", bs, "idcliente")
c'è una soluzione o altro metodo?
saluti
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
sab 30 nov 2013 - 06:47
>salve,
>
>"In questo modo l'insieme avrebbe due associazioni alla stessa
>proprietà. Nome parametro: binding"
>
>di seguito il codice:
> sql = "SELECT idcliente,cognome,nome FROM tabclienti
>
> ds = New DataSet("tabclienti")
> da = New SqlDataAdapter(sql, Conn)
> da.Fill(ds, "tabclienti")
> bs = New BindingSource
> bs.DataSource = ds
> bs.DataMember = "tabclienti"
>txtidcliente.DataBindings.Add("text", bs, "idcliente")
> cmbcognome.DataBindings.Add("text", bs, cognome")
> cmbinome.DataBindings.Add("text", bs, "nome")
>
>l'errore mi esci sulla prima riga:
> txtidcliente.DataBindings.Add("text", bs, "idcliente")
>
Ok ho fatto una verifica utilizzando il tuo stesso codice.
L'errore lo restituisce quando tenti l'associazione dei dati ai controlli per la seconda volta.
MI SPIEGO
Se lancio la prima volta il codice per il binding dei dati, tutto fila liscio ed esegue l'associazione.
Se rieseguo il binding una seconda volta mi genera l'errore.
Ciò è semplicemente dovuto al fatto che la text ha oramai la proprietà text già associata ad un dato.
Adesso non sapendo di preciso cosa devi fare e che uso fai di questo codice non saprei suggerirti una soluzione.
La prima che mi viene in mente però è quella di ripulire le proprietà text dal dataBinding, ad esempio con un ciclo del genere:
For Each ctl As Control In Me.Controls
If TypeOf ctl Is TextBox Or TypeOf ctl Is ComboBox Then
ctl.DataBindings.Clear()
End If
Next
in questo modo le proprietà text le trovi sempre pulite.
A seguire il codice intero che ho testato
Dim ds As New DataSet
Dim da As New SqlDataAdapter
Dim bs As New BindingSource
For Each ctl As Control In Me.Controls
If TypeOf ctl Is TextBox Or TypeOf ctl Is ComboBox Then
ctl.DataBindings.Clear()
End If
Next
Dim Sql As String = "SELECT * FROM anagSoggetti"
ds = New DataSet("anagSoggetti")
da = New SqlDataAdapter(Sql, Conn)
da.Fill(ds, "anagSoggetti")
bs = New BindingSource
bs.DataSource = ds
bs.DataMember = "anagSoggetti"
txtidcliente.DataBindings.Add("text", bs, "id")
cmbcognome.DataBindings.Add("text", bs, "ragionesociale")
cmbinome.DataBindings.Add("text", bs, "nome")
CIAO
Fammi sapere e se tutto vabene chiudi il post
;-)
CIAO
Riccardo D'Aria
Zagor60
Profilo
| Junior Member
159
messaggi | Data Invio:
sab 30 nov 2013 - 09:12
grazie,
funziona perfettamente.
buon week end
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 !