//------------------------------------------------------------------------- private void OnMenuFiltrer(object sender, System.EventArgs e) { try { if (sender is CMenuItemAFiltreDynamique) { CFiltreDynamiqueInDb filtre = ((CMenuItemAFiltreDynamique)sender).Filtre; if (filtre == null) { m_filtreEntrees = null; CheckMenuFiltre((CMenuItemAFiltreDynamique)sender); ((IControlAgenda)m_controlAffichage).FiltreAAppliquer = null; return; } CFiltreData filtreData = null; filtreData = sc2i.win32.data.dynamic.CFormFiltreDynamic.GetFiltreData(filtre.Filtre); if (filtreData != null) { m_filtreEntrees = filtreData; ((IControlAgenda)m_controlAffichage).FiltreAAppliquer = filtreData; CheckMenuFiltre((CMenuItemAFiltreDynamique)sender); } } } catch { CFormAlerte.Afficher(I.T("Error while applying filter|30083"), EFormAlerteType.Erreur); } }
void itemMenuFiltre_Click(object sender, EventArgs e) { CMenuItemFiltre menuFiltre = sender as CMenuItemFiltre; if (menuFiltre != null) { CFiltreDynamiqueInDb filtreInDb = menuFiltre.Filtre; CFiltreDynamique filtre = filtreInDb.Filtre; if (m_lastFiltreDynamique != null) { foreach (IVariableDynamique variable in m_lastFiltreDynamique.ListeVariables) { object val = m_lastFiltreDynamique.GetValeurChamp(variable.IdVariable); IVariableDynamique var2 = filtre.GetVariable(variable.IdVariable); if (var2 != null && var2.Nom == variable.Nom) { filtre.SetValeurChamp(var2, val); } } } m_lastFiltreDynamique = filtre; if (filtre.FormulaireEdition.Childs.Count() > 0) { if (!CFormFormulairePopup.EditeElement( filtre.FormulaireEdition, filtre, "Filter|20175")) { return; } } ApplyFiltre(filtre); } }
//--------------------------------------------------------------------- protected override void MyCreateControle(CCreateur2iFormulaireV2 createur, C2iWnd wnd, Control parent, IFournisseurProprietesDynamiques fournisseur) { C2iWndListeSpeedStandard listeStd = wnd as C2iWndListeSpeedStandard; if (listeStd == null) { return; } CCreateur2iFormulaireV2.AffecteProprietesCommunes(wnd, m_panelListeSpeedStd); m_fournisseurProprietes = fournisseur; m_panelListeSpeedStd.BoutonAjouterVisible = listeStd.HasAddButton; m_panelListeSpeedStd.BoutonSupprimerVisible = listeStd.HasDeleteButton; m_panelListeSpeedStd.BoutonModifierVisible = listeStd.HasDetailButton; m_panelListeSpeedStd.BoutonFiltrerVisible = listeStd.HasFilterButton; m_panelListeSpeedStd.AllowCustomisation = listeStd.UserCustomizable; m_panelListeSpeedStd.OnChangeSelection += new EventHandler(m_panelListeSpeedStd_OnChangeSelection); m_panelListeSpeedStd.AffectationsPourNouveauxElements = listeStd.Affectations; m_panelListeSpeedStd.ObjetReferencePourAffectationsInitiales = EditedElement; if (listeStd.AlternativeEditedElement != null) { m_panelListeSpeedStd.TraiterModificationElement = TraiterEditionPanel; } // Initialisation des colonnes foreach (C2iWndListeSpeedStandard.CColonneListeSpeedStd col in WndListeStandard.Columns) { if (col.InfoChampDynamique != null) { m_panelListeSpeedStd.AddColonne(col.Titre, col.InfoChampDynamique.NomPropriete, col.Width); } //string strCle = ""; //string strProp = ""; //if (!CDefinitionProprieteDynamique.DecomposeNomProprieteUnique(col.InfoChampDynamique.NomPropriete, ref strCle, ref strProp)) // strProp = col.InfoChampDynamique.Nom; //if(col.InfoChampDynamique != null) // m_panelListeSpeedStd.AddColonne(col.Titre, strProp, col.Width); } // Initialise le filtre if (WndListeStandard.Filter != null) { CDbKey dbKeyFiltreStandard = WndListeStandard.Filter.DbKey; CFiltreDynamiqueInDb filtre = new CFiltreDynamiqueInDb(CSc2iWin32DataClient.ContexteCourant); if (filtre.ReadIfExists(dbKeyFiltreStandard)) { m_panelListeSpeedStd.FiltrePrefere = filtre.Filtre; } } // Initialise le nom du controle pour le registre des colonnes string strNom = "CustomListeSpeedStandard_"; if (WndListeStandard.SourceFormula != null) { strNom += WndListeStandard.SourceFormula.TypeDonnee.TypeDotNetNatif.ToString(); } m_panelListeSpeedStd.Name = strNom; m_panelListeSpeedStd.UseCheckBoxes = WndListeStandard.UseCheckBoxes; parent.Controls.Add(m_panelListeSpeedStd); }
/// ////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CFiltreDynamiqueInDb filtre = (CFiltreDynamiqueInDb)objet; if (filtre.Libelle.Trim() == "") { result.EmpileErreur(I.T("The filter name cannot be empty|117")); } CFiltreData filtreData = new CFiltreData( CFiltreDynamiqueInDb.c_champLibelle + "=@1 and " + CFiltreDynamiqueInDb.c_champTypeElements + "=@2 and " + CFiltreDynamiqueInDb.c_champId + "<>@3", filtre.Libelle, filtre.StringTypeElements, filtre.Id); if (CountRecords(CFiltreDynamiqueInDb.c_nomTable, filtreData) != 0) { result.EmpileErreur(I.T("This name is already used|118")); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
/// ////////////////////////////////////////////////////////// private void ItemFiltreClick(object sender, EventArgs e) { if (!(sender is CMenuItemFiltre)) { return; } CFiltreDynamiqueInDb filtreInDb = ((CMenuItemFiltre)sender).Filtre; CFiltreDynamique filtreDyn = filtreInDb.Filtre; CFiltreData filtreData = CFormFiltreDynamic.GetFiltreData(filtreDyn); if (filtreData == null) { return; } CListeObjetsDonnees listeSel = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, m_typeLien.TypeElements); filtreData = CFiltreData.GetAndFiltre(filtreData, m_typeLien.FiltreDataAssocie); listeSel.Filtre = filtreData; try { if (listeSel.CountNoLoad == 0) { CFormAlerte.Afficher(I.T("No @1 matches the filter|30089", DynamicClassAttribute.GetNomConvivial(m_typeLien.TypeElements)), EFormAlerteType.Exclamation); return; } if (CFormAlerte.Afficher(I.T("You will add @1 element(s) to the selection. Continue ?|30088", listeSel.CountNoLoad.ToString()), EFormAlerteType.Question) == DialogResult.Yes) { CListeObjetsDonnees listeExiste = m_entreeAgenda.RelationsElementsAgenda; listeExiste.Filtre = new CFiltreData(CRelationTypeEntreeAgenda_TypeElementAAgenda.c_champId + "=@1", m_typeLien.Id); listeExiste.Filtre = CFiltreData.GetAndFiltre(listeExiste.Filtre, new CFiltreData(CRelationTypeEntreeAgenda_TypeElementAAgenda.c_champId + "=@1", m_typeLien.Id)); using (CWaitCursor waiter = new CWaitCursor()) { foreach (CObjetDonneeAIdNumerique objet in listeSel) { listeExiste.Filtre = new CFiltreData(CRelationEntreeAgenda_ElementAAgenda.c_champIdElementAAgenda + "=@1", objet.Id); if (listeExiste.Count == 0) { CRelationEntreeAgenda_ElementAAgenda rel = new CRelationEntreeAgenda_ElementAAgenda(m_entreeAgenda.ContexteDonnee); rel.CreateNewInCurrentContexte(); rel.EntreeAgenda = m_entreeAgenda; rel.RelationTypeEntree_TypeElement = m_typeLien; rel.ElementLie = objet; } } UpdateListe(); } } } catch { } }
/// ////////////////////////////////////////////////////////// private void ItemFiltreClick(object sender, EventArgs e) { if (!(sender is CMenuItemFiltre)) { return; } CFiltreDynamiqueInDb filtreInDb = ((CMenuItemFiltre)sender).Filtre; CFiltreDynamique filtreDyn = filtreInDb.Filtre; CFiltreData filtreData = CFormFiltreDynamic.GetFiltreData(filtreDyn); if (filtreData == null) { return; } CListeObjetsDonnees listeSel = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, m_typElements); filtreData = CFiltreData.GetAndFiltre(filtreData, m_filtreInitial); listeSel.Filtre = filtreData; try { if (listeSel.CountNoLoad == 0) { CFormAlerte.Afficher("Aucun " + DynamicClassAttribute.GetNomConvivial(m_typElements) + " ne correspond au filtre", EFormAlerteType.Exclamation); return; } if (CFormAlerte.Afficher(I.T("You will add @1 element(s) to the selection. Continue ?|30088", listeSel.CountNoLoad.ToString()), EFormAlerteType.Question) == DialogResult.Yes) { using (CWaitCursor waiter = new CWaitCursor()) { bool bModif = false; foreach (CObjetDonneeAIdNumerique objet in listeSel) { bModif |= AddElement(objet); } if (bModif && OnChangeSelection != null) { OnChangeSelection(this, new EventArgs( )); } UpdateListe(); } } } catch { } }
//------------------------------------------------------------------------------ private void m_listBox_SelectedValueChanged(object sender, EventArgs e) { CFiltreDynamiqueInDb filtre = m_listBox.SelectedItem as CFiltreDynamiqueInDb; if (filtre != null) { m_filtre = filtre; } else { m_filtre = null; } if (m_service != null) { m_service.CloseDropDown(); } }
public C2iWndListeSpeedStandard.CPointeurFiltreDynamiqueInDb EditeFiltre(Type typeElement, IServiceProvider provider, object value) { m_typeElement = typeElement; // Uses the IWindowsFormsEditorService to display a // drop-down UI in the Properties window. IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (edSvc != null) { m_typeElement = typeElement; m_service = edSvc; // Initialise le dernier filtre sélectionné CFiltreDynamiqueInDb filtre = new CFiltreDynamiqueInDb(CSc2iWin32DataClient.ContexteCourant); C2iWndListeSpeedStandard.CPointeurFiltreDynamiqueInDb ptrFilter = value as C2iWndListeSpeedStandard.CPointeurFiltreDynamiqueInDb; if (ptrFilter != null) { if (filtre.ReadIfExists(ptrFilter.DbKey)) { Filtre = filtre; } } // Affiche le controle dans une fenêtre déroulante edSvc.DropDownControl(this); filtre = Filtre; if (filtre != null) { if (ptrFilter == null) { ptrFilter = new C2iWndListeSpeedStandard.CPointeurFiltreDynamiqueInDb(); } ptrFilter.DbKey = filtre.DbKey; ptrFilter.Libelle = filtre.Libelle; return(ptrFilter); } } return(new C2iWndListeSpeedStandard.CPointeurFiltreDynamiqueInDb()); }
//---------------------------------------------------------------------------- private void m_lnkOptionsFiltre_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (m_actionEditee != null) { CFiltreDynamiqueInDb filtre = new CFiltreDynamiqueInDb(CContexteDonneeSysteme.GetInstance()); if (filtre.ReadIfExists(m_actionEditee.IdFiltreDynamiqueAUtiliser)) { CFiltreDynamique filtreDyn = filtre.Filtre; if (filtreDyn != null) { List <CFormuleNommee> lst = new List <CFormuleNommee>(); foreach (IVariableDynamique variable in filtreDyn.ListeVariables) { CFormuleNommee formule = new CFormuleNommee(variable.Nom, null); formule.Id = variable.IdVariable; foreach (CFormuleNommee formuleEx in m_actionEditee.ValeursVariablesFiltre) { if (formuleEx.Id == variable.IdVariable) { formule.Formule = formuleEx.Formule; } } lst.Add(formule); } CFormuleNommee[] formules = lst.ToArray(); if (CFormEditeListeFormulesNommees.EditeFormules(ref formules, m_objetPourSousProprietes)) { lst = new List <CFormuleNommee>(); foreach (CFormuleNommee formule in formules) { if (formule.Formule != null) { lst.Add(formule); } } m_actionEditee.ValeursVariablesFiltre = lst.ToArray(); } } } } }
void menuFiltre_Click(object sender, EventArgs e) { CObjetDonneeMenuItem item = sender as CObjetDonneeMenuItem; CFiltreDynamiqueInDb filtreInDb = item != null ? item.ObjetDragDrop as CFiltreDynamiqueInDb : null; if (filtreInDb != null) { CFiltreDynamique filtre = filtreInDb.Filtre; if (m_lastFiltreDynamique != null) { foreach (IVariableDynamique variable in m_lastFiltreDynamique.ListeVariables) { object val = m_lastFiltreDynamique.GetValeurChamp(variable.IdVariable); IVariableDynamique var2 = filtre.GetVariable(variable.IdVariable); if (var2 != null && var2.Nom == variable.Nom) { filtre.SetValeurChamp(var2, val); } } } m_lastFiltreDynamique = filtre; if (filtre.FormulaireEdition.Childs.Count() > 0) { if (!CFormFormulairePopup.EditeElement( filtre.FormulaireEdition, filtre, "Filter|20175")) { return; } } m_filtreDynamicSelectionnee = filtreInDb; m_filtreDynamicApplique = filtre; m_chkIntersFiltre.Checked = true; m_setIdsInterventionsVisiblesCalculéDefiltreEtListe = null; FillListeIntersAvecDelai(); } }
public CMenuItemAFiltreDynamique(CFiltreDynamiqueInDb filtre) { Filtre = filtre; }
/// ////////////////////////////////////////////////////////////////// protected static CResultAErreur ExecuteActionListe(CActionSur2iLinkAfficherListe action, object objetCible) { CResultAErreur result = CResultAErreur.True; CFiltreDynamique filtre = action.Filtre; if (filtre == null || filtre.TypeElements == null) { result.EmpileErreur(I.T("Link parameter error : filter is null|30077")); return(result); } if (objetCible != null) { CObjetPourSousProprietes objetPourSousProp = null; objetPourSousProp = new CObjetPourSousProprietes(objetCible); IVariableDynamique variable = CActionSur2iLinkAfficherListe.AssureVariableElementCible(filtre, objetPourSousProp); /*if ( variable.TypeDonnee.TypeDotNetNatif != objetCible.GetType() ) * { * result.EmpileErreur(I.T("Expected type in the filter does not correspond to object type|30078")); * return result; * }*/ if (variable != null) { filtre.SetValeurChamp(variable.IdVariable, objetCible); } } result = filtre.GetFiltreData(); if (!result) { result.EmpileErreur(I.T("Filter error|30079")); return(result); } CFiltreData filtreData = (CFiltreData)result.Data; Type tp = CFormFinder.GetTypeFormToList(filtre.TypeElements); try { if (tp != null || tp.IsSubclassOf(typeof(CFormListeStandard))) { CFormListeStandard form = ( CFormListeStandard )Activator.CreateInstance(tp, new object[0]); CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(objetCible); ctxEval.AttacheObjet(typeof(CContexteDonnee), CSc2iWin32DataClient.ContexteCourant); if (action.FormuleContexte != null) { result = action.FormuleContexte.Eval(ctxEval); if (!result) { result.EmpileErreur(I.T("Form context evaluation error|30080")); return(result); } if (result.Data != null) { form.ContexteUtilisation = result.Data.ToString(); } } if (action.FormuleTitre != null) { result = action.FormuleTitre.Eval(ctxEval); if (!result) { result.EmpileErreur(I.T("Form title evaluation error|30081")); return(result); } if (result.Data != null) { form.TitreForce = result.Data.ToString(); } } form.FiltreDeBase = filtreData; form.AffectationsPourNouveauxElements = action.Affectations; form.ObjetReferencePourAffectationsInitiales = objetCible; form.BoutonAjouterVisible = action.ShowBoutonAjouter; form.BoutonModifierVisible = action.ShowBoutonDetail; form.BoutonSupprimerVisible = action.ShowBoutonSupprimer; if (action.IdFiltreDynamiqueAUtiliser >= 0) { CFiltreDynamiqueInDb filtretoUse = new CFiltreDynamiqueInDb(CContexteDonneeSysteme.GetInstance()); if (filtretoUse.ReadIfExists(action.IdFiltreDynamiqueAUtiliser)) { CFiltreDynamique filtreDyn = filtretoUse.Filtre; if (filtreDyn != null) { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(objetCible); foreach (CFormuleNommee formule in action.ValeursVariablesFiltre) { if (formule.Formule != null) { CResultAErreur res = formule.Formule.Eval(ctx); if (res) { try { string strId = formule.Id; filtreDyn.SetValeurChamp(strId, res.Data); } catch { } } } } form.FiltrePrefere = filtreDyn; } } } if (action.ActionSurDetail != null) { CExecuteurActionSurPanelListeSpeedStandard executeur = new CExecuteurActionSurPanelListeSpeedStandard(action.ActionSurDetail, form); form.SetModifierElementDelegate(new CPanelListeSpeedStandard.ModifierElementDelegate(executeur.ExecuteAction)); } CTimosApp.Navigateur.AffichePage(form); } else { result.EmpileErreur(I.T("Not avaliable|30082")); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
public CMenuItemFiltre(CFiltreDynamiqueInDb filtre) : base(filtre.Libelle) { m_filtre = filtre; }
//------------------------------------------------------------------------- public CFormEditionFiltreDynamique(CFiltreDynamiqueInDb filtre, CListeObjetsDonnees liste) : base(filtre, liste) { // Cet appel est requis par le Concepteur Windows Form. InitializeComponent(); }
public CMenuItemFiltre(CFiltreDynamiqueInDb filtre) { Filtre = filtre; Text = filtre.Libelle; }
public CMenuItemFiltre(CFiltreDynamiqueInDb filtre) { Filtre = filtre; Text = DynamicClassAttribute.GetNomConvivial(filtre.TypeElements) + "-" + filtre.Libelle; }