Italian Bordo della xCustomListView visibile

Sabotto

Well-Known Member
Licensed User
Ho una clv con bordo, che si vede se è vuota.
Se la popolo con
B4X:
clvElenco.AddTextItem("voce 1","")
clvElenco.AddTextItem("voce 2","")
clvElenco.AddTextItem("voce 3","")
il bordo viene coperto. Come posso fare per vedere il bordo usando "AddTextItem"?
ChatGPT mi propone soluzioni abbastanza macchinose
 

LucaMs

Expert
Licensed User
Longtime User
Non so se sia così che la vuoi:
B4X:
Private Sub Button1_Click
    For i = 1 To 5
        AddTextItem("pippo" & i, "")
    Next
End Sub

Private Sub AddTextItem(Text As String, Value As Object)
    CustomListView1.AddTextItem(Text, Value)
    Dim ItemAdded As CLVItem = CustomListView1.GetRawListItem(CustomListView1.Size - 1)
    ItemAdded.Panel.SetColorAndBorder(xui.Color_White, 1dip, xui.Color_Black, 0)
End Sub
 

Sabotto

Well-Known Member
Licensed User
No. Io vorrei che si vedesse il bordo (che ho messo verde) dell'intera clv (evitando che venisse coperto dai singoli item).
Il tuo esempio mette il bordo ai singoli item.
esempio.png
 

Sabotto

Well-Known Member
Licensed User
no. sempre uguale

B4X:
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
    clvElenco.sv.SetColorAndBorder(xui.Color_Transparent, 2dip, xui.Color_Green, 0)
    For i = 1 To 5
        AddTextItem("pippo" & i, "")
    Next
End Sub

Private Sub AddTextItem(Text As String, Value As Object)
    clvElenco.AddTextItem(Text, Value)
    Dim ItemAdded As CLVItem = clvElenco.GetRawListItem(clvElenco.Size - 1) ' anche senza questa
    ItemAdded.Panel.SetColorAndBorder(xui.Color_white, 1dip, xui.Color_red, 0)  ' anche senza questa
End Sub
 

Sabotto

Well-Known Member
Licensed User
idem

B4X:
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    clvElenco.sv.SetColorAndBorder(xui.Color_Transparent, 2dip, xui.Color_Green, 0)
    Root.LoadLayout("MainPage")
    For i = 1 To 5
        clvElenco.AddTextItem("pippo" & i, "")
    Next
End Sub

Senza nome.png
 

Sagenut

Expert
Licensed User
Longtime User
Mettere la CLV dentro ad un panel e usare il panel per fare il bordo colorato attorno alla CLV?
 

Attachments

  • BordoCLV.zip
    14.3 KB · Views: 84

Sabotto

Well-Known Member
Licensed User
View attachment 163472

Hai caricato il layout dopo aver impostato il colore (ed è pure strano che non ti dia errore).
Si, hai ragione (ed è strano che non mi dia errore) ma anche mettendola dopo il ciclo non cambia niente.


Mettere la CLV dentro ad un panel e usare il panel per fare il bordo colorato attorno alla CLV?
Si alla fine farò cosi, ma allora, mi chiedevo, a cosa serve poter impostare il bordo della clv se poi lo si vede solo quando è vuota.
 

Sagenut

Expert
Licensed User
Longtime User
Si alla fine farò cosi, ma allora, mi chiedevo, a cosa serve poter impostare il bordo della clv se poi lo si vede solo quando è vuota.
Il problema è che aggiungere elementi con AddTextItem non ti dà controllo e gli elementi sono automaticamente larghi come la CLV.
Puoi usare il bordo della CLV, ma dovresti aggiungere degli item modellati ad hoc per non occupare il bordo.
 
Top