Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361

    "canellare" una riga da un listview

    Sto popolando un listview, e il popolamento è determinato da alcune condizioni successive alla creazione della riga....

    Quindi se tale condizione non si verifica devo cancellare la riga creata in precedenza

    codice:
    linea.Open SQL, conn, 3, 3
    Do While Not linea.EOF 
       If linea("canone") = True Then
          ind = ind + 1
          Set mItem = ListView1.ListItems.Add(, , linea("città"))
          mItem.ListSubItems.Add , , linea("indirizzo")
          mItem.ListSubItems.Add , , linea("numero")
          mItem.ListSubItems.Add , , linea("tot")
          ListView1.ListItems(ind).Tag = linea("idlinea")
          idlineaPrecedente = linea("idlinea")
         Else
          If linea("idlinea") = idlineaPrecedente Then
    'L'unico comando che ho trovato è questo ma non mi cancella interamente
    la riga....chi riesce ad aiutarmi????
             ListView1.ListItems(ind).ListSubItems.Clear
             ind = ind - 1
          End If
       End If
       linea.MoveNext
    Loop

  2. #2
    secondo me ti basta modificare l'If aggiungendo un AND e la verifica degli ID, così:
    codice:
    linea.Open SQL, conn, 3, 3
    idlineaPrecedente = 0
    Do While Not linea.EOF 
       If linea("canone") = True _
         AND linea("idlinea") <> idlineaPrecedente Then
          Set mItem = ListView1.ListItems.Add(, , linea("città"))
          mItem.ListSubItems.Add , , linea("indirizzo")
          mItem.ListSubItems.Add , , linea("numero")
          mItem.ListSubItems.Add , , linea("tot")
          ListView1.ListItems(ind).Tag = linea("idlinea")
          idlineaPrecedente = linea("idlinea")
          ind = ind + 1
       End If
       linea.MoveNext
    Loop

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    Purtroppo no...


    Ma dal fatto che mi proponi vie alternative vuol dire che non si può cancellare uno specifico items da un listview????

    Spero di no...se però qualcuno è sicuro che non si possa fare, me lo dica che vedrò di cambiare approcio in maniera da non dover più cancellare righe .
    Grazie comunque

  4. #4
    ma come no?!
    ti va in errore o che? :master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    Non da errori, logicamente non esegue il controllo che ho bisogno!!

  6. #6
    Originariamente inviato da gaullo
    Non da errori, logicamente non esegue il controllo che ho bisogno!!
    se lo dici tu...
    però mi sembra strano, perchè ciò che ho scritto io fa questo:
    - inizia il ciclo sul recordset
    - controlla che linea("canone") sia VERO e che l'id corrente sia diverso da quello inserito precedentemente
    - se la condizione di cui sopra è soddisfatta crea l'item e i subitems, altrimenti continua a leggere il recordset

    a livello logico mi sembra perfetto, il perchè non ti funzioni non lo capisco, dal momento che carico in modo simili la listview sul progetto al quale sto lavorando.

    ma ti ripeto... se lo dici tu.
    non so come altro poterti aiutare.


    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    Ho una query che mi mostra per ogni linea il totale delle spese considerate canone e il totale delle spese non considerate canone.
    Io devo individuare le linee che hanno solo il totale delle spese canone. Naturalmente per una linea posso trovare 1 voce canone e una voce spese, solo la voce canone oppure solo la voce spese

    codice:
    SQL = "SELECT Linea.idlinea, sede.città, sede.indirizzo, " & _
       "Linea.numero, Sum(dettagli_linea.spesa) AS Tot, " & _
       "dettagli_linea.canone " & _
       "FROM (sede INNER JOIN (Linea INNER JOIN " & _
       "dettagli_linea ON Linea.idlinea = dettagli_linea.idlinea) " & _
       "ON sede.idsede = Linea.idsede) INNER JOIN bimmax ON " & _
       "Linea.idlinea = bimmax.idlinea " & _
       "GROUP BY Linea.idlinea, sede.città, sede.indirizzo, " & _
       "Linea.numero, dettagli_linea.canone " & _
       "ORDER BY Linea.idlinea;"

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    Per la procedura che stavo scrivendo ho risolto...
    Semplicemente ho cambiato il sort sul campo canone mettendolo discendente e creando l'items quando sono sicuro che esso deve esistere.
    codice:
    SQL = "SELECT Linea.idlinea, sede.città, sede.indirizzo, Linea.numero, dettagli_linea.canone, round(Sum([dettagli_linea].[spesa]);2) AS Tot " & _
    "FROM (sede INNER JOIN (Linea INNER JOIN dettagli_linea ON Linea.idlinea = dettagli_linea.idlinea) ON sede.idsede = Linea.idsede) INNER JOIN bimmax ON (bimmax.bimester = dettagli_linea.idbimestre) AND (Linea.idlinea = bimmax.idlinea) " & _
    "GROUP BY Linea.idlinea, sede.città, sede.indirizzo, Linea.numero, dettagli_linea.canone " & _
    "ORDER BY Linea.idlinea, dettagli_linea.canone DESC;"
    
    linea.Open SQL, conn, 3, 3
    idlineaPrecedente = 0
    Do While Not linea.EOF
       If linea("canone") = False Then
          idlineaPrecedente = linea("idlinea")
         Else
          If linea("idlinea") <> idlineaPrecedente Then
             ind = ind + 1
             Set mItem = ListView1.ListItems.Add(, , linea("città"))
             mItem.ListSubItems.Add , , linea("indirizzo")
             mItem.ListSubItems.Add , , linea("numero")
             mItem.ListSubItems.Add , , linea("tot")
             ListView1.ListItems(ind).Tag = linea("idlinea")
             idlineaPrecedente = linea("idlinea")
          End If
       End If
       linea.MoveNext
    Loop
    Set linea = Nothing
    Però non ho ancora scoperto/capito come posso cancellare una riga da una listview.
    Ma è almeno possibile???
    Grazie comunque ladyBlu

    P.S. Non considerate il 3d chiuso, non so ancora come cancellare una riga da un listview, e deve esserci un modo!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.