Dim v_numrows As Integer = tabella.Rows.Count
Dim v_num_patologie As Integer = lst_patologie.SelectedItems.Count
'qui dovrei creare l'array da inviare alla sub di aggiornamento
'ma non so passare un array intero ancora, quindi creo una stringa 'che poi vado a scomporre nella sub 'aggiornapatologie("t_associaz_utenti_patologie")
Dim x As Integer
Dim y As Integer
Dim v_patologie As String = ""
y = 0
If Not lst_patologie.SelectedItems.Count = -1 Then
Dim v_lista As Integer = lst_patologie.Items.Count
For x = 0 To (v_lista - 1)
If lst_patologie.GetSelected(x) Then
If v_patologie = "" Then
v_patologie=tabella.Rows(y).Item("id_patologia")
Else
v_patologie = v_patologie & "," & tabella.Rows(y).Item("id_patologia")
End If
End If
y = y + 1
Next
fsb.aggiornapatologie("add", v_idutente, v_patologie, v_num_patologie)
End If
allora, questo è il salvataggio.
Dopo aver inserito il nuovo utente, ne recupero l'id e in maniera non proprio pulita, ottengo il valuemember che mi serve...
(ma in realtà sincronizzo un datatable e lo prendo da lì, non dalla listbox, se qualcuno (non è possibile perchè ci lavorerà una persona sola per volta) mi cambia i record della tabella e la lista non è aggiornata, ciao! le corrispondenze non esistono più...)
Quindi questo, seppur forzando, l'ho risolto, ma se riuscissi semplicemente a leggere il valuemember degli elementi e inserirlo in una variabile sarebbe moooooooolto meglio.
Quello che invece proprio non so come fare è:
quando un record utente esiste già, e lo si richiama per una modifica, si "doubleclicca" una griglia (dgrid_utenti), ottengo così IDutente e confrontando gli IDpatologie ad esso associati in una seconda tabella, devo selezionare in automatico, via codice, le voci già presenti.
doppio click=> idutente
Dim v_id_riga As String = dgrid_utenti.CurrentRow().Cells("idutente").Value
per le combo ho fatto così:
Dim v_idutente As String = dgrid_utenti.CurrentRow().Cells("id_tipoutente").Value
cmb_tipoutente.SelectedValue = v_idtipoutente
e funziona...
(non mi serve item!...mi serve l'ID contenuto nella proprietà valuemember ^^)
@chiccosimo...
io uso vb net non c#...
anche provando a convertirlo, che dichiarazione metto per le variabili?
Dim tabella As DataTable = elenco("nometabella")
mi spiego meglio:
Dim row As DataRow
Dim v_patologie As String = ""
For Each row In tabella.Rows
If v_patologie = "" Then
v_patologie = row.Item("id_patologia")
Else
v_patologie = v_patologie & "," & row.Item("id_patologia")
End If
Next
volendo scorrere le righe di una datatable, devo dichiarle come oggetti datarow, appartenenti all'insieme rows del datatable.
Nel caso della listbox cosa dichiaro e come? ^^
sto facendo altre prove...
grazie in anticipo...vi terrò aggiornati, sempre se ne esco vivo...