/// <summary>
        /// Toma la lista de bancos de la base de datos y rellena la tabla.
        /// </summary>
        protected override void RefreshMainData()
        {
            _lista = PlanAnualList.GetList(false);
            Bar.Grow("PlanAnuales");

            Datos_Planes.DataSource = PlanAnualList.SortList(_lista,
                                                             "Codigo",
                                                             this.GetGridSortDirection(Tabla));
            Bar.FillUp("Ordenar Lista");
        }
        /// <summary>
        /// Filtra la tabla
        /// </summary>
        /// <param name="oid">Identificar del elemento</param>
        protected override void Filter(object filtro)
        {
            _lista_filtrada = ((PlanAnualList)filtro).Clone();

            if (Filtros.SelectedTab != Filtros.TabPages["Advanced_TP"])
            {
                Filtros.SelectedTab = Filtros.TabPages["Advanced_TP"];
            }
            else
            {
                try
                {
                    Datos.DataSource =
                        PlanAnualList.SortList(_lista_filtrada, "Codigo", ListSortDirection.Ascending);
                }
                catch (Exception)
                {
                    Datos.DataSource = _lista;
                }
            }
        }
        /// <summary>
        /// Aplica el filtro correspondiente según la pestaña
        /// </summary>
        protected override void ApplyFilter()
        {
            switch (Filtros.SelectedTab.Name)
            {
            case "Todos_TP":
            {
                RefreshMainData();
            } break;

            case "Advanced_TP":
            {
                try
                {
                    Datos_Planes.DataSource =
                        PlanAnualList.SortList(_lista_filtrada, "Codigo", ListSortDirection.Ascending);
                }
                catch (Exception)
                {
                    Datos_Planes.DataSource = _lista;
                }
            } break;

            case "Nombre_TP":
            {
                try
                {
                    CriteriaEx criteria = PlanAnual.GetCriteria(PlanAnual.OpenSession());
                    criteria.AddStartsWith("Nombre", ActiveItem.Nombre[0].ToString());
                    _lista = PlanAnualList.GetList(criteria);
                    Datos_Planes.DataSource = PlanAnualList.SortList(_lista,
                                                                     "Codigo",
                                                                     ListSortDirection.Ascending);
                }
                catch (Exception)
                {
                    _lista = null;
                }
            } break;
            }
        }