xsharp.eu • Uso del CheckBoxes in DataListView
Page 1 of 1

Uso del CheckBoxes in DataListView

Posted: Sat Oct 17, 2020 9:56 pm
by claudiocarletta
Salve a tutti,
Ho visto con piacere che in una DataListView si può aggiungere una colonna di CheckBox a sinistra modificando la proprietà CheckBoxes a true.
Mi sarebbe molto utile selezionare il CheckBox in alcune righe su cui eseguire sequenzialmente delle operazioni, ma non so dove andare a reperire un esempio.
Qualcuno può aiutarmi?

:( Riconosco che sto movimentando fin troppo questo forum ma vi avevo avvertito :whistle:

Buona notte a tutti

Uso del CheckBoxes in DataListView

Posted: Sun Oct 18, 2020 6:06 am
by wriedmann
Ciao Claudio,
per reperire le righe che sono state scelte bisogna lavorare con i reltivi item. Personalmente lo faccio a livello di controllo, però lo si può fare anche a livello di finestra:

Code: Select all

local nLen as dword
local nI as dword
local aChecked as array
local oLVI as ListViewItem

nLen := oListView:ItemCount
aChecked := {}
for nI := 1 upto nLen
  oLVI := oListView:GetItemAttributes( nI )
    if oLVI:StateImageIndex == 2	// checked
      AAdd( aChecked, oLVI )
   endif
next
return aChecked
Questo codice lo ho copiato da un mio metodo perciò dovrebbe essere corretto (sfortunatamente scrivendo del codice dalla memoria possono esserci sempre errori di battitura).

Saluti
Wolfgang

Uso del CheckBoxes in DataListView

Posted: Sun Oct 18, 2020 9:01 am
by claudiocarletta
Ciao Wolfgang,
ho letto con attenzione il codice che gentilmente hai condiviso, ho capito che questo serve a selezionare le eventuali righe su cui è stata messa la spunta sul Check Box della riga della DataListView e quindi operare di conseguenza.
Quello che ancora non sono riuscito a fare, è far apparire il Check Box sulla riga della DataListView.
Mettendo a true la proprietà (vedi figura)
BoxInList.JPG
BoxInList.JPG (19.13 KiB) Viewed 327 times
vedo solamente che il contenuto del primo campo si sposta leggermente a destra per fare spazio ad un qualcosa che non vedo e non posso selezionare (vedi figura)
BoxInList2.JPG
BoxInList2.JPG (24.48 KiB) Viewed 327 times
Sicuramente c'è da settare qualcos'altro ma non ho idea dove reperire queste informazioni.
Esiste un manuale in rete o scaricabile del VO 2.8? Io mi sono fermato al VO 2.5, ho acquistato tutti i libri in italiano che c'erano in circolazione fino a quella versione e poi non ho altro.

Ho già in mente un piano B, aggiungo un campo char(1) che riempio o svuoto con un doppio clik sulla riga della DataListView con un carattere di spunta visualizzato, poi rileggo le righe della DataListView ed eseguo il codice laddove ho segnato la spunta.

Grazie di tutto

Buona domenica
Claudio

Uso del CheckBoxes in DataListView

Posted: Sun Oct 18, 2020 9:32 am
by wriedmann
Ciao Claudio,
l'unica cosa che mi viene in mente che ti potrebbe mancare un manifest.
Prova ad aggiungere il file che trovi nell'archivio allegato nella cartella del tuo programma, dandogli lo stesso nome del tuo eseguibile e aggiungendo .manifest. Se il tuo eseguibile si chiama pippo.exe, il file si deve chiamare pippo.exe.manifest.
cctl6_manifest.zip
(801 Bytes) Downloaded 46 times
Per quanto riguarda la documentazione: ne trovi una copia qui: https://www.riedmann.it/download/VO28SP4bHelp.zip
Saluti
Wolfgang

Uso del CheckBoxes in DataListView

Posted: Sun Oct 18, 2020 9:34 am
by wriedmann
Ciao Claudio,
ancora una cosa: visto che è domenica, a mezzogiorno smetto di lavorare e vado in montagna e non risponderò prima di domani mattina.
Saluti
Wolfgang

Uso del CheckBoxes in DataListView

Posted: Mon Oct 19, 2020 7:11 am
by softdevo@tiscali.it
Ciao ecco qui il codice che io uso

LOCAL nConta AS INT
LOCAL nRighe AS INT
LOCAL oListViewItem AS System.Windows.Forms.ListViewItem
LOCAL cKey as STRING
nRighe := SELF:oDcMyListView1:Items:Count
IF nRighe > 0
SELF:Cursor := System.Windows.Forms.Cursors.WaitCursor
FOR nConta := 1 UPTO nRighe
IF SELF:oDcMyListView1:Items[nConta-1]:Checked
oListViewItem := SELF:oDcMyListView1:Items[nConta-1]
cKey := oListViewItem:SubItems[Numero della colonna da leggere]:Text
SELF:FaiQualcosa(cKey)
ENDIF
NEXT
SELF:Cursor := System.Windows.Forms.Cursors.Default
ENDIF

Uso del CheckBoxes in DataListView

Posted: Mon Oct 19, 2020 4:02 pm
by claudiocarletta
Ciao Danilo,
Grazie per la dritta, provo subito il codice che hai condiviso

Saluti Claudio