15 messaggi dal 13 luglio 2007
Ciao a tutti, ho l'esigenza di dover creare una checkboxlist customizzata nel seguente modo:
i dati che recupero dal db definiscono una sorta di albero con nodi divisi in livelli, per ogni livello vorrei poter applicare una classe css diversa.

Come posso fare?

Modificato da fera17 il 01 ottobre 2008 10.53 -
3.168 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

il controllo treview non ti può aiutare?

HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
15 messaggi dal 13 luglio 2007
Ho creato il controllo custom di cui all'oggetto.

Il problema è che ora non mi mantiene lo stato una volta che effettuo un postback, da cosa può dipendere?

Inserisco il codice della classe

[ToolboxData("<{0}:CustomCheckBoxList runat=server></{0}:CustomCheckBoxList>")]
    public class CustomCheckBoxList : CheckBoxList, IRepeatInfoUser
    {
        private short _index;
        private string _data_field_class;
               
        public short TabIndex
        {
            get
            {
                return this._index;
            }
            set
            {
                this._index = value;
            }
        }

        public string DataClassField
        {
            get 
            {
                return this._data_field_class;
            }
            set 
            {
                this._data_field_class = value;
            }
        }
       

         void IRepeatInfoUser.RenderItem(ListItemType itemType, int
            repeatIndex, RepeatInfo repeatInfo, HtmlTextWriter writer)
        {   
            string[] array = this.Items[repeatIndex].Text.Split(new char[] {'#'});

            CheckBox cb = new CheckBox();
            cb.Page = this.Page;
            cb.ID  = this.ClientID + "_" + repeatIndex.ToString();
            cb.Text = array[0].Trim();  
            cb.Attributes["value"] = this.Items[repeatIndex].Value;
            cb.Checked = this.Items[repeatIndex].Selected;
            cb.TextAlign = this.TextAlign;
            cb.AutoPostBack = this.AutoPostBack;
            cb.TabIndex = this.TabIndex;
            cb.Enabled = this.Enabled;
            cb.EnableViewState = this.EnableViewState;
             
            cb.CssClass = array[1].Trim();

            cb.RenderControl(writer);             
        }         
    }  

dipende da cosa intendi per non mantiene lo stato, da una rapida occhiata al tuo codice le proprietà non sono persistite nel ViewState

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
15 messaggi dal 13 luglio 2007
Per stato intendo (sicuramente usando un termine improprio) che quando effettuo un postback, gli Items che ho "checkato" nel mio controllo perdono lo stato di checked.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.