Italian CustomListView

Fulvio75

Well-Known Member
Licensed User
Ciao ho bisogno una mano...
Ho una CLW con degli Item al suo interno, questi Item oltre a delle Label hanno anche una CLW.
Ho bisogno di ottenere l'indice l'Item della CLW principale quando clicco sulla CLW contenuta.
Grazie

B4X:
Private Sub CLW_Contenuta_Nel_Item_Della_CLW_Principale_ItemClick (Index As Int, Value As Object)
    
    'NON FUNZIONA VA IN ERRORE
    Dim CLWItemIndex As Int = CLWPrincipale.GetItemFromView(CLW_Contenuta_Nel_Item_Della_CLW_Principale.SV)


End Sub
 

Fulvio75

Well-Known Member
Licensed User
Prima devi ottenere la cv contenuta in base a Index (ottieni il panel dell'item e da questo la cv).
Poi l'indice della CV principale usando GetItemFromView(CVOttenuta.GetBase)
Index dell'item della CLW contenuta?
Per trovare il panel?(getpanelfromitem)
La Clw dal panel come la trovo?
C'è qualcosa tipo getclwfrom panel?
 

LucaMs

Expert
Licensed User
Longtime User
Private Sub CLW_Contenuta_Nel_Item_Della_CLW_Principale_ItemClick (Index As Int, Value As Object)
Sorry, non avevo visto bene, pensavo che l'evento che ho riportato qui sopra fosse quello relativo alla CLV interna, "secondaria", che in effetti è l'evento che dovresti gestire, non quello della CV principale.

Nell'evento ItemClick della CV contenuta, esegui i passi che ti ho scritto nel post precedente.
 

Fulvio75

Well-Known Member
Licensed User
Sorry, non avevo visto bene, pensavo che l'evento che ho riportato qui sopra fosse quello relativo alla CLV interna, "secondaria", che in effetti è l'evento che dovresti gestire, non quello della CV principale.

Nell'evento ItemClick della CV contenuta, esegui i passi che ti ho scritto nel post precedente.
Ok domani provo e ti dico..
Grazie per il momento
 

Fulvio75

Well-Known Member
Licensed User
non
Prima devi ottenere la cv contenuta in base a Index (ottieni il panel dell'item e da questo la cv).
Poi l'indice della CV principale usando GetItemFromView(CVOttenuta.GetBase)
mi restituisce sempre l'indice dell'ultimo elemento della CLW principale.
Idea... quando creo gli item della principale, passo alla sub di creazione dei singoli item l'indice dell'item della principale come Value.

B4X:
'carico i dati del record nella variabile type Fields
    For i = 0 To (Cur.RowCount-1)
        
        Dim LayoutItem As clwNOTSheetsShiftsViewerLayoutItem 'Item da disegnare nella listview

        LayoutItem.Initialize
        Fields.Initialize
        
        Cur.Position = i
        
        'tengo traccia degli id dei record del db
        clwDisplayedDBRecordsId.Add(Cur.GetLong2(0))

        'attribuisco i dati alle variabili
        Fields.ShiftDate = Functions.Convert_Date_LONG_From_SQLFORMAT(Cur.GetString2(2))
        Fields.WorkingShiftType = Cur.GetInt2(3)
        Fields.Status = Cur.GetInt2(6)
        Fields.ShiftId = Cur.GetInt2(9)
        Fields.CLWItemIndex = i '****QUI'****
        
        'creo gli item della listview '***LO PASSO QUI****'
        clwNOTSheetsShiftsViewer.Add(CreateCustomListViewItem(Fields,LayoutItem),LayoutItem)
        clwCreated = True
        clwItemCount = clwItemCount + 1
        
    Next
 

Fulvio75

Well-Known Member
Licensed User
Puoi allegare il progetto?
OK ho passato l'idice dell'item della clw principale alla sub di creazione di ogni item in modo che ogni item della principale lo abbia disponibile al click e funziona, sembra che una clw contenuta in un'altra clw non riesca a restituire il suo indice corretto.
 
Top