9 messaggi dal 08 settembre 2010
ho risolto ragazzi, grazie cmq.
ora sono di corsa, ma più tardi posto il codice funzionante.
Grazie mille!!!
2.198 messaggi dal 30 novembre 2001
appunto nn puoi modificare un elenco mentre lo stai scorrendo, lo puoi modificare solo al termine del ciclo
Se proprio ti serve modificare un'oggetto durante un'iterazione, potresti anche procedere così:
int index = miaLista.Count - 1;
while(-1 != index)
{
   var obj = miaLista[index--];
   // eseguo le mie operazioni qui
}

Davide Guida
Technical Architect @ Razorfish Healthware
http://davideguida.altervista.org
9 messaggi dal 08 settembre 2010
chiccosimo ha scritto:
appunto nn puoi modificare un elenco mentre lo stai scorrendo, lo puoi modificare solo al termine del ciclo



eh? cosa intendi?
perchè il codice che ho scritto funge, ma "copincollandolo" in un altro punto del modulo, mi dice che
"L'elenco a cui è associato l'enumeratore è stato modificato. L'enumeratore può essere utilizzato solo se l'elenco rimane costante"

in pratica scorro i record del controllo listbox e setto man mano true e false sulla proprietà setselected (index, boolean)
sbaglio a fare così?
2.198 messaggi dal 30 novembre 2001
si come ti dicevo, le proprietà della listbox le devi settare al di fuori del ciclo di scorrimento, scusa ma nn puoi settare le proprietà che ti servono al momento della creazione della listbox?
9 messaggi dal 08 settembre 2010
no...come faccio a settarle prima????
I record (Items) della listbox vanno inseriti attraverso codice.
In base a quelli selezionati ne salvo i relativi id in tabella.
Oppure in base a quelli già presenti in tabella, devo selezionarne dinamicamente uno o più...

cmq...
Dim tabella As DataTable = fsb.GetElenco("t_associaz_utenti_patologie", "idutente=" & v_id_riga, "", "")

Dim v_numrows As Integer = tabella.Rows.Count
Dim row As DataRow
Dim v_patologie As Integer

For Each row In tabella.Rows
v_patologie = row.Item("id_patologia")
Dim i As Integer
If lst_patologie.Items.Count > 0 Then
Dim v_lstrow As DataRowView
i = 0
For Each v_lstrow In lst_patologie.Items
Dim v_item As Integer = v_lstrow.Row.ItemArray.GetValue(0).ToString
If v_item = v_patologie Then
lst_patologie.SetSelected(i, True)
Exit For
End If
i = i + 1
Next
End If
Next



questo funziona...ma se lo sposto mi dà quell'errore...
non capisco perchè in un punto funzioni e in un altro no...
9 messaggi dal 08 settembre 2010
se puoi mi fai cmq un esempio di codice vb net?
così magari capisco dove sbaglio...
2.198 messaggi dal 30 novembre 2001
scusa quando ti dà errore? quando cerchi di selezionare dinamicamente quelli presenti in tabella nella listbox?

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.