protected new SortedBindingList <PlanAnualInfo> Localize(object value, string column_name) { SortedBindingList <PlanAnualInfo> list = null; PlanAnualList sourceList = null; switch (FilterType) { case IFilterType.None: if (List == null) { MessageBox.Show(moleQule.Face.Resources.Messages.NO_RESULTS); return(null); } sourceList = List; break; case IFilterType.Filter: if (FilteredList == null) { MessageBox.Show(moleQule.Face.Resources.Messages.NO_RESULTS); return(null); } sourceList = FilteredList; break; } FCriteria criteria = null; string related = "none"; switch (column_name) { default: { criteria = GetCriteria(column_name, value, _operation); } break; } switch (related) { case "none": { list = sourceList.GetSortedSubList(criteria); } break; } if (list.Count == 0) { MessageBox.Show(moleQule.Face.Resources.Messages.NO_RESULTS); return(sourceList.GetSortedList()); } DatosSearch.DataSource = list; DatosSearch.MoveFirst(); AddFilterLabel(column_name, value); Tabla.Focus(); return(list); }
protected new SortedBindingList <PlanAnualInfo> Localize(FilterItem item) { SortedBindingList <PlanAnualInfo> list = null; PlanAnualList sourceList = null; switch (FilterType) { case IFilterType.None: if (List == null) { MessageBox.Show(Face.Resources.Messages.NO_RESULTS); return(null); } sourceList = List; break; case IFilterType.Filter: if (FilteredList == null) { MessageBox.Show(Face.Resources.Messages.NO_RESULTS); return(null); } sourceList = FilteredList; break; } if (item.FilterProperty == IFilterProperty.All) { FCriteria criteria = GetCriteria(string.Empty, item.Value, null, item.Operation); list = sourceList.GetSortedSubList(criteria, _properties_list); } else { FCriteria criteria = GetCriteria(item.Column, item.Value, null, item.Operation); list = sourceList.GetSortedSubList(criteria, _properties_list); } if (list.Count == 0) { MessageBox.Show(Face.Resources.Messages.NO_RESULTS); return(sourceList.GetSortedList()); } DatosSearch.DataSource = list; DatosSearch.MoveFirst(); AddFilterLabel(item); return(list); }
public override void UpdateList() { switch (_current_action) { case molAction.Add: if (_entity == null) { return; } List.AddItem(_entity.GetInfo(false)); if (FilterType == IFilterType.Filter) { PlanAnualList listA = PlanAnualList.GetList(_filter_results); listA.AddItem(_entity.GetInfo(false)); _filter_results = listA.GetSortedList(); } break; case molAction.Edit: case molAction.Lock: case molAction.Unlock: if (_entity == null) { return; } ActiveItem.CopyFrom(_entity); break; case molAction.Delete: if (ActiveItem == null) { return; } List.RemoveItem(ActiveOID); if (FilterType == IFilterType.Filter) { PlanAnualList listD = PlanAnualList.GetList(_filter_results); listD.RemoveItem(ActiveOID); _filter_results = listD.GetSortedList(); } break; } _entity = null; RefreshSources(); }
///// <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; } } } }