/// <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; } }
///// <summary>Imprime la lista del objetos ///// <returns>void</returns> ///// </summary> //public override void PrintList() //{ // ClienteReportMng reportMng = new ClienteReportMng(AppContext.ActiveSchema); // PlanAnualListRpt report = reportMng.GetPlanAnualListReport(PlanAnualList.GetList((IList<PlanAnualInfo>)Datos.List)); // if (report != null) // { // ReportViewer.SetReport(report); // ReportViewer.ShowDialog(); // } // else // { // MessageBox.Show(Resources.Messages.NO_DATA_REPORTS, // Labels.EMPTY_REPORT, // MessageBoxButtons.OK, // MessageBoxIcon.Exclamation); // } //} #endregion #region Events private void PlanAnualMngForm_KeyPress(object sender, KeyPressEventArgs e) { DataGridViewColumn col; if (Tabla.CurrentCell == null) { if (Tabla.SortedColumn != null) { col = Tabla.SortedColumn; } else { col = Tabla.Columns[0]; } } else { col = Tabla.Columns[Tabla.CurrentCell.ColumnIndex]; } if (col.ValueType != null) { if (col.ValueType.Name == "Int32") { return; } if (col.ValueType.Name == "Int64") { return; } if (col.ValueType.Name == "Single") { return; } if (col.ValueType.Name == "Double") { return; } string car = e.KeyChar.ToString(); CriteriaEx criteria = PlanAnual.GetCriteria(PlanAnual.OpenSession()); criteria.AddStartsWith(col.DataPropertyName, car); // Buscamos las palabras que empiecen por el caracter PlanAnualList lista = PlanAnualList.GetList(criteria); SortedBindingList <PlanAnualInfo> list = PlanAnualList.GetSortedList(lista, col.DataPropertyName, ListSortDirection.Ascending); int foundIndex; // Nos situamos en la primera aparicion de esa lista en la // que se muestra. Esto se hace pq se ha consultado la bd y no la lista actual // lo que puede dar lugar a inconsistencias si otro usuario a cambiado la bd foreach (PlanAnualInfo cli in list) { foundIndex = Datos.IndexOf(cli); if (foundIndex != -1) { Datos.Position = foundIndex; break; } } } }