+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 10 su 10

Selezionare il check della listview in base a mese e anno

  1. #1
    gnappi non è in linea Novello
    Post
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ho una listview con checkbox popolato da una grossa quantità di dati.
    Ho la necessità di mettere in blocco il segno di spunta su vari items, anzichè passarmeli tutti in rassegna.
    Come fare?
    ListView1.Items(x).Checked = True mi seleziona logiacamente tutti gli items!

        Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
            If anno.Text.Length = 0 And mese.Text.Length = 0 Then
                MessageBox.Show("Valorizzare anno oppure anno e mese da selezionare")
            ElseIf mese.Text.Length > 0 And anno.Text.Length > 0 Then
                MessageBox.Show("Valorizzare l'anno di riferimento")
            End If
            Dim x As Integer = 0
            For Each item As ListViewItem In ListView1.Items
                Dim _anno As Integer = ListView1.Items(x).SubItems(2).Text
                Dim _mese As Integer = ListView1.Items(x).SubItems(3).Text
                If ListView1.Items(x).SubItems(2).Text = _anno And ListView1.Items(x).SubItems(3).Text = _mese Then
                    ListView1.Items(x).Checked = True
                End If
                x += 1
            Next
        End Sub
    

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Vari item quali??
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    L'avatar di _alka_
    _alka_ non è in linea Very Important Person
    Post
    1,391
    Like Inviati  
    0
    Like Ricevuti  
    18
    Quote Originariamente inviato da gnappi Visualizza il messaggio
    Ho la necessità di mettere in blocco il segno di spunta su vari items, anzichè passarmeli tutti in rassegna.
    Non vedo altri modi per mettere la spunta sugli elementi, se non quello di apporla elemento per elemento se la condizione lo permette.

    Quote Originariamente inviato da gnappi Visualizza il messaggio
    Come fare?
    ListView1.Items(x).Checked = True mi seleziona logiacamente tutti gli items!
    Ti seleziona l'elemento corrispondente alla posizione "x".

    Secondo me, conviene che tu descriva meglio il problema, perché assolutamente non è chiaro.
    ℹ️ Leggi di più su _alka_ ...

  4. #4
    patel45 non è in linea Scolaretto
    Post
    473
    Like Inviati  
    0
    Like Ricevuti  
    0
    gnappi, non ha senso fare un ciclo For Each item e poi non usare item e incrementare la x, o fai un ciclo for x o lo fai For Each item.

  5. #5
    L'avatar di _alka_
    _alka_ non è in linea Very Important Person
    Post
    1,391
    Like Inviati  
    0
    Like Ricevuti  
    18
    Quote Originariamente inviato da patel45 Visualizza il messaggio
    gnappi, non ha senso fare un ciclo For Each item e poi non usare item e incrementare la x, o fai un ciclo for x o lo fai For Each item.
    Pensa che io non ci avevo nemmeno fatto caso...
    Ma concordo, ovviamente.

    Inoltre, secondo me c'è qualcosa di strano anche nei controlli preventivi, quelli posti prima del ciclo, ma è solo una supposizione.
    ℹ️ Leggi di più su _alka_ ...

  6. #6
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    La spiegazione del problema è veramente poco chiara. Probabilmente voleva solo mettere il check a tutti gli elementi e basterebbe

            For Each it In ListView1.Items
                it.checked = True
            Next
    
    Attendiamo ...
    ℹ️ Leggi di più su AntonioG ...

  7. #7
    gnappi non è in linea Novello
    Post
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    Grazie a tutti voi per avermi dato un pò di attenzione.
    Ho provato con con un ciclo for (For x = 0 To ListView1.Items.Count) che con For each (For Each item As ListViewItem In ListView1.Items)oi, con il copia ed incolla ho fatto un gran casino!

    Ripropongo il codice e preciso che il mio obiettivo è quello che (fornito mese ed anno oppure solo l'anno) mi vengano selezionate solo le righe della LV che contengano (ad esempio) il mese 5 dell'anno 2020.Contrariamente, sarei costretto ad esaminare una per una tutte le righe della LV ed effettuare manualmente la selezione.
    Spero di aver chiarito e ringrazio chiunque mi sappia suggerire una strada che mi conduca al risultato sperato.
        Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
            If anno.Text.Length = 0 And mese.Text.Length = 0 Then
                MessageBox.Show("Valorizzare solo anno oppure anno e mese")
            ElseIf anno.Text.Length = 0 And mese.Text.Length > 0 Then
                MessageBox.Show("Valorizzare l'anno di riferimento")
            End If
            
            For x as integer= 0 To ListView1.Items.Count
                'For Each item As ListViewItem In ListView1.Items
                Dim _anno As Integer = ListView1.Items(x).SubItems(2).Text
                Dim _mese As Integer = ListView1.Items(x).SubItems(3).Text
                If ListView1.Items(x).SubItems(2).Text = _anno And ListView1.Items(x).SubItems(3).Text = _mese Then
                   .......
                End If
            Next
        End Sub
    

  8. #8
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Usa la For Each e controlla mese e anno per fare il check (potevi chiarirlo prima questo requisito)

            For Each it In ListView1.Items
                 If .... Then
                     it.checked = True
                 End If
            Next
    
    Nella If controlli quello che ti serve, con o senza And (non ho capito se ti serve anno e mese o solo anno)
    ℹ️ Leggi di più su AntonioG ...

  9. #9
    gnappi non è in linea Novello
    Post
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    Grazie mille. Ora ci provo e poi riferirò l'esito.

  10. #10
    gnappi non è in linea Novello
    Post
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    Grazie.Ho finalmente risolto grazie al Suo input.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. SQL mese e anno corrente
    Da freddy60 nel forum Visual Basic .Net
    Risposte: 7
    Ultimo Post: 20-07-2020, 20:08
  2. trasformare stringa in anno e mese
    Da sal21 nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 02-05-2011, 23:08
  3. Listview check e non check
    Da papy2 nel forum Visual Basic 6
    Risposte: 4
    Ultimo Post: 22-10-2007, 20:37
  4. Anno e mese
    Da Fabio63 nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 26-05-2007, 18:59
  5. [Access Xp] Filtro per Mese e Anno
    Da Recordset nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 11-11-2005, 11:29