Telerik.Web.Mvc.UI.DropDownExtentions.PrepareItemsAndDefineSelectedIndex C# (CSharp) Method

PrepareItemsAndDefineSelectedIndex() public static method

public static PrepareItemsAndDefineSelectedIndex ( this instance ) : void
instance this
return void
        public static void PrepareItemsAndDefineSelectedIndex(this IDropDown instance)
        {
            var selectedItemIndex = instance.Items.IndexOf(instance.Items.LastOrDefault(item => item.Selected == true));

            if (selectedItemIndex != -1)
            {
                for (int i = 0, length = instance.Items.Count; i < length; i++)
                {
                    instance.Items[i].Selected = false;
                }
                instance.SelectedIndex = -1;
            }

            if (instance.SelectedIndex != -1 && instance.SelectedIndex < instance.Items.Count)
            {
                instance.Items[instance.SelectedIndex].Selected = true;
            }
            else if (selectedItemIndex != -1)
            {
                instance.Items[selectedItemIndex].Selected = true;
                instance.SelectedIndex = selectedItemIndex;
            }
            else if (instance is DropDownList)
            {
                instance.Items[0].Selected = true;
                instance.SelectedIndex = 0;
            }
        }