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
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)
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)
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.
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.
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
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.
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.