Vorrei ripercorrere in VB NET quello che potevo fare in VB6 con le ListBox. In VB6 avevo una ListBox che dopo averla popolata, mi consentiva con un Click del mouse (ovviamente) di cambiare lo stato di un qualsiasi "Item" e contestualmente di modificare un valore Booleano nella Tabella di origine della lista. Questo per poter eseguire in seguito una Query selezionando solo i Record con il valore Booleano voluto. Per fare questo però, ho bisogno di conoscere il "valore" di quello specifico Item e in VB NET non so come fare. Qui i codice VB6 che vorrei ripercorrere in VB NET.
codice:Private Sub ListaAgenti_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single) Dim Posiz Posiz = ListaAgenti.ListIndex NomeAgente = Trim(ListaAgenti.List(Posiz)) ListaAgenti_Esegui End Sub ............ Private Sub ListaAgenti_Esegui() On Error GoTo errore_ListaAgenti_Esegui Dim rcrdstAgenti As ADODB.Recordset, rcrdstMix As ADODB.Recordset Dim sSQL As String Dim i As Integer Set rcrdstAgenti = New ADODB.Recordset Set rcrdstMix = New ADODB.Recordset ' Porta a 0 o a -1 la Cella "Selezionato" dell'Agente su cui si è fatto "click" sSQL = "SELECT DISTINCTROW Agente, Selezionato From Agenti ORDER BY Agente" rcrdst.Open sSQL, ConnettiDBlocale, adOpenStatic, adLockOptimistic rcrdstAgenti.MoveFirst For i = 0 To rcrdstAgenti.RecordCount - 1 If rcrdstAgenti("Agente") = NomeAgente Then If rcrdstAgenti("Selezionato") = 0 Then Selez = -1 ListaAgenti.Selected(i) = True ElseIf rcrdstAgenti("Selezionato") = -1 Then Selez = 0 ListaAgenti.Selected(i) = False End If End If rcrdstAgenti.MoveNext Next i Exit Sub errore_DeselezionaTuttiAgenti: MsgBox "Errore nella Sub ''..........'': " & Err.Number & " - " & Err.Description End Sub
Non sono però riuscito a fare la stessa cosa in VB NET. Ho anche l'impressione che la ListBox di VB NET sia completamente diversa da quella di VB6 e che quindi non si possa usarla per fare quello che mi serve.
Qualcuno può aiutarmi?

Rispondi quotando