Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    Problema con Chekboxlist

    Ho una checkboxlist in cui ho inserito una serie di listitem che rappresentano articoli di un listino.
    Siccome questi listitem si riferiscono a categorie merceologiche diverse, mi è stato chiesto di inserire i nomi delle categorie merceologiche e di far si che selezionando/deselezionando il checkbox della categoria merceologica si selezionino/deselezionino tutti gli articoli ad essa relativi.
    Alla fine il tutto dovrebbe più o meno sembrare un menu ad albero in cui selezionando il checkbox di un ramo si selezionano tutti i checkbox delle foglie, mantenendo al possibilità di selezionare/deselezionare la singola foglia.
    Io sono riuscito a inserire il nome della categoria merceologica, quindi a creare il checkbox del ramo, ma ho provato in tutti i modi, anche con tecniche "esotiche", ma non riesco a far si che la selezione del ramo determini la selezione/deselezione delle sue fronde.

    Il checkboxlist invia in post solo l'elenco dei listitem selezionati e niente più, e non c'è verso di associare al singolo listitem una funzione (sull'onchange o nonsochealtroevento del ramo ad esempio) per far fare la selezione/deselezione delle foglie.
    (devo farlo lato server perchè viene tutto da un database quindi devo leggere lì i legami di parentela tra rami e foglie)

    Suggestions?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Ma perchè non usi una treeview con i checkbox (c'è una proprietà che li mostra affianco agli elementi)

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    un motivo potrebbe essere che scopro solo ora l'esistenza di un oggetto treeview....
    ora me lo studio
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    titolo poco appropriato...leggi il regolamento; per questa volta lascio aperto.

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    mi serve una spinta: ho creato un meraviglioso treeview con le categorie merceologiche ed i prodotti relativi.

    Ho fatto la funzione che cambia lo stato dei checkbox dei childnodes coerentemente con lo stato del nodo "padre"... però la funzione (che funziona) non viene lanciata dal cambio di stato del checkbox del padre bensì dal click sulla descrizione del nodo padre (che appare come fosse un link).
    Questo è il modo in cui creo il nodo padre:
    codice:
    nodo = New TreeNode
                        nodo.Value = chkhead
                        nodo.Text = strsql
                        nodo.SelectAction = TreeNodeSelectAction.Select
                        nodo.NavigateUrl = ""
                        nodo.ShowCheckBox = True
                        Treetrtgiorno.Nodes.Add(nodo)
    e questa è la funzione che cambia gli stati dei checkbox nei childnodes
    codice:
        Protected Sub checktutto() Handles Treetrtgiorno.TreeNodeCheckChanged
     Dim chkl As TreeNode
            chkl = Treetrtgiorno.SelectedNode
            If chkl.ChildNodes.Count > 0 Then
                For i = 0 To chkl.ChildNodes.Count - 1
                    chkl.ChildNodes(i).Checked = chkl.Checked
                Next
            End If
    end sub
    cosa sbaglio?
    (Treetrtgiorno è il mio oggetto treeview)


    @moderatore: mi scuso, è vero... come posso rimediare?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    @moderatore: mi scuso, è vero... come posso rimediare?
    non facendolo di nuovo

  7. #7
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    rilancio: devo ancora provarla su alberi che hanno più di un nodo padre (ora farò un test) però mi sembra che la mia funzione cambi lo stato a TUTTI i nodi figlio, indipendentemente da quale nodo padre io abbia cliccato... vero?
    E come faccio a sapere quale nodo padre ho cliccato, per cambiare lo stato solo ai suoi nodifiglio?

    edit: come non detto, ho fatto la prova e lavora solo sui propri nodi figlio esattamente come volevo
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  8. #8
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Questo problema però ce l'ho ancora:

    Ho fatto la funzione che cambia lo stato dei checkbox dei childnodes coerentemente con lo stato del nodo "padre"... però la funzione (che funziona) non viene lanciata dal cambio di stato del checkbox del padre bensì dal click sulla descrizione del nodo padre (che appare come fosse un link).
    Questo è il modo in cui creo il nodo padre:
    codice:
    nodo = New TreeNode
                        nodo.Value = chkhead
                        nodo.Text = strsql
                        nodo.SelectAction = TreeNodeSelectAction.Select
                        nodo.NavigateUrl = ""
                        nodo.ShowCheckBox = True
                        Treetrtgiorno.Nodes.Add(nodo)
    e questa è la funzione che cambia gli stati dei checkbox nei childnodes
    codice:
        Protected Sub checktutto() Handles Treetrtgiorno.TreeNodeCheckChanged
     Dim chkl As TreeNode
            chkl = Treetrtgiorno.SelectedNode
            If chkl.ChildNodes.Count > 0 Then
                For i = 0 To chkl.ChildNodes.Count - 1
                    chkl.ChildNodes(i).Checked = chkl.Checked
                Next
            End If
    end sub
    cosa sbaglio?
    (Treetrtgiorno è il mio oggetto treeview)
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #9
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    ecco, vorrei che facesse esattamente questo
    http://obout.com/t2/ht_checkboxes.aspx
    (senza icone e altre monate, vorrei solo replicare il comportamento dei checkboxes.... ah e io ho solo due livelli di nodi, senza root)
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  10. #10
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Ulteriore anomalia di sto benedetto controllo treeview:
    la mia funzione checktutto genera exception "Riferimento a un oggetto non impostato su un'istanza di oggetto" quando seleziono solo nodi figlio...
    Quando seleziono solo nodi figlio infatti, l'istruzione
    chkl = Treetrtgiorno.SelectedNode
    restituisce nothing, non riconosce il nodo selezionato....
    ebbcchè???



    stoicenko, compaesano, fammi un po' di luce
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

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.