Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: listview

  1. #1
    Utente di HTML.it L'avatar di Melly
    Registrato dal
    Mar 2003
    Messaggi
    222

    listview

    Buongiorno a tutti

    il problema è questo...

    Ho una listview sulla quale nella prima colonna appoggio un id che non deve essere visibile all'utente....

    Ho provato a risolvere questo problema dando alla prima colonna width = 0 solo che se l'utente va lì e allarga la colonna.... Magia riappare!!:zamm:

    Qualcuno saprebbe dirmi come posso rendere inattiva la possibilità di ridimensionare quella colonna oppure se c'è un altro metodo per ottenere lo stesso risultato??

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    ListView1.ListItems(0).Tag
    nel tag ci metti l'ID

  3. #3
    Utente di HTML.it L'avatar di Melly
    Registrato dal
    Mar 2003
    Messaggi
    222
    Grazie un ottimo escamotage

  4. #4
    Utente di HTML.it L'avatar di Melly
    Registrato dal
    Mar 2003
    Messaggi
    222
    Originariamente inviato da ddies
    ListView1.ListItems(0).Tag
    nel tag ci metti l'ID
    ho solo un dubbio...:master:

    Come lo inserisco in questo contesto??

    com.Parameters.Append com.CreateParameter("@id_soc", adInteger, adParamInput, 50, CmbSocietàGhost.Text)
    com.Parameters.Append com.CreateParameter("@id_stabile", 202, adParamInput, 50, CmbStabiliGhost.Text)
    com.Parameters.Append com.CreateParameter("@elenco", 202, adParamOutput, 50, Null)
    Set rcs = com.Execute

    'Popolamento della ListView "LswElencoUI"

    Do Until rcs.EOF
    Set LswI = LswElencoUI.ListItems.Add(, , rcs(4).Value)
    LswI.SubItems(0) = rcs(1).Value
    LswI.SubItems(1) = rcs(3).Value
    LswI.SubItems(2) = rcs(4).Value
    LswI.SubItems(3) = rcs(2).Value
    rcs.MoveNext
    Loop

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    codice:
    dim ind as integer
    
    ind=0
    
    Do Until rcs.EOF 
      Set LswI = LswElencoUI.ListItems.Add(, , rcs(4).Value) 
      LswI.SubItems(0) = rcs(1).Value 
      LswI.SubItems(1) = rcs(3).Value 
      LswI.SubItems(2) = rcs(4).Value 
      LswI.SubItems(3) = rcs(2).Value 
      LswElencoUI.ListItems(ind).Tag=rcs(0).Value
      ind=ind+1
      rcs.MoveNext 
    Loop

  6. #6
    Utente di HTML.it L'avatar di Melly
    Registrato dal
    Mar 2003
    Messaggi
    222
    Grazie mille davvero....

    Buona giornata..

  7. #7
    Se fossi in te non userei una colonna per l'ID.
    Secondo me ti basta utilizzare la proprietà Key dell'Item. Stando però attenta al fatto che questa proprietà non accetta numeri, nè sotto forma numerica(int,long,...) nè sotto forma di stringhe("2","34"); ciò significa che devi utilizzare un carattere alfabetico da anteporre all'ID.
    Così:
    codice:
    'Popolamento della ListView "LswElencoUI"
     Dim miaKey As String
    
     Do Until rcs.EOF
       miaKey = "§" & rcs(0).Value  
       Set LswI = LswElencoUI.ListItems.Add(, miaKey, rcs(4).Value)
       LswI.SubItems(0) = rcs(1).Value
       LswI.SubItems(1) = rcs(3).Value
       LswI.SubItems(2) = rcs(4).Value
       LswI.SubItems(3) = rcs(2).Value
       rcs.MoveNext
     Loop
    in questo modo, nell'item principale inserisci la chiave che corrisponde all'ID corrente.
    Sul DoppioClick della listview, per leggere l'ID selezionato ti basterà scrivere:
    codice:
     Dim mioID As Long, mioIdApp As String
                            
     mioIdApp = LswElencoUI.SelectedItem.Key
     mioID = CLng(Right(mioIdApp, Len(mioIdApp) - 1))
    in pratica prendi tutto ciò che c'è dopo il simbolo "§".


    ???domanda???: vedi "rcs(4).Value": è un errore di distrazione o è richiesto dal progetto inserire due volte lo stesso valore in due colonne della listview diverse?


    spero di essermi spiegata bene.


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

  8. #8
    Utente di HTML.it L'avatar di Melly
    Registrato dal
    Mar 2003
    Messaggi
    222
    Originariamente inviato da ladyBlu
    Se fossi in te non userei una colonna per l'ID.
    Secondo me ti basta utilizzare la proprietà Key dell'Item. Stando però attenta al fatto che questa proprietà non accetta numeri, nè sotto forma numerica(int,long,...) nè sotto forma di stringhe("2","34"); ciò significa che devi utilizzare un carattere alfabetico da anteporre all'ID.
    Così:
    codice:
    'Popolamento della ListView "LswElencoUI"
     Dim miaKey As String
    
     Do Until rcs.EOF
       miaKey = "§" & rcs(0).Value  
       Set LswI = LswElencoUI.ListItems.Add(, miaKey, rcs(4).Value)
       LswI.SubItems(0) = rcs(1).Value
       LswI.SubItems(1) = rcs(3).Value
       LswI.SubItems(2) = rcs(4).Value
       LswI.SubItems(3) = rcs(2).Value
       rcs.MoveNext
     Loop
    in questo modo, nell'item principale inserisci la chiave che corrisponde all'ID corrente.
    Sul DoppioClick della listview, per leggere l'ID selezionato ti basterà scrivere:
    codice:
     Dim mioID As Long, mioIdApp As String
                            
     mioIdApp = LswElencoUI.SelectedItem.Key
     mioID = CLng(Right(mioIdApp, Len(mioIdApp) - 1))
    in pratica prendi tutto ciò che c'è dopo il simbolo "§".


    ???domanda???: vedi "rcs(4).Value": è un errore di distrazione o è richiesto dal progetto inserire due volte lo stesso valore in due colonne della listview diverse?


    spero di essermi spiegata bene.

    Ti ringrazio molto ma purtroppo il campo del db con il quale carico la colonna è proprio un integer

    Cmq lo terrò presente se mi dovesse capitare in futuro
    Ciao!!

  9. #9
    Utente di HTML.it L'avatar di Melly
    Registrato dal
    Mar 2003
    Messaggi
    222
    Originariamente inviato da ladyBlu



    ???domanda???: vedi "rcs(4).Value": è un errore di distrazione o è richiesto dal progetto inserire due volte lo stesso valore in due colonne della listview diverse?


    spero di essermi spiegata bene.

    Colpa del ctrl+c ctrl+v :gren:

  10. #10
    Originariamente inviato da Melly
    Ti ringrazio molto ma purtroppo il campo del db con il quale carico la colonna è proprio un integer

    Cmq lo terrò presente se mi dovesse capitare in futuro
    Ciao!!
    guarda che lo so che il campo che carichi è numerico. infatti ti ho detto che per gestire la Key devi solo aggiungere un simbolo ("§" ad esempio) e ti eviti il problema di bloccare una colonna per evitare che l'utente la allarghi.
    Io ho usato questo sistema nel mio progetto... e te lo consiglio. cmq, a te la scelta.

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

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.