internal int GetIndex(AccordionView accView) { int idxNo = 0; foreach (ASP.Control idx in Controls) { if (idx is AccordionView) { if (idx.ID == accView.ID) { return(idxNo); } idxNo += 1; } } throw new IndexOutOfRangeException("AccordionView with that index doesn't exists"); }
internal void SetActiveView(AccordionView accordionView) { int newIndex = GetIndex(accordionView); if (newIndex == ActiveAccordionViewIndex) { return; } AccordionView previouslySelectedAccView = GetView(ActiveAccordionViewIndex); ActiveAccordionViewIndex = newIndex; if (ActiveAccordionViewChanged != null) { ActiveAccordionViewChanged(this, new EventArgs()); } // Here we create animations to roll up the previously selected on // and roll down the currently selected one new EffectRollUp(previouslySelectedAccView.ContentControl, 500) .ChainThese(new EffectRollDown(accordionView.ContentControl, 500)) .Render(); accordionView.CssClass = "ra-acc-view"; previouslySelectedAccView.CssClass = "ra-acc-view ra-acc-view-collapsed"; }