/// ////////////////////////////////////////// protected override void InitChamps() { base.InitChamps(); m_cmbAction.DataSource = CActionLancerActionServeur.GetListeActionsPossibles(ActionLancer.Process.IdSession); m_cmbAction.DisplayMember = "Libelle"; m_cmbAction.ValueMember = "Code"; try { m_cmbAction.SelectedValue = ActionLancer.CodeAction; } catch {} m_wndAideFormule.FournisseurProprietes = ObjetEdite.Process; m_wndAideFormule.ObjetInterroge = typeof(CProcess); FillListeChamps(); }
private void FillListeChamps() { m_panelFormules.SuspendDrawing(); foreach (Control ctrl in m_panelFormules.Controls) { if (ctrl is CEditeurFormuleNommee) { ctrl.Visible = false; m_reserveEditeurs.Add(ctrl); } } ArrayList lst = new ArrayList(); if (m_cmbAction.SelectedValue is string) { string strCode = (string)m_cmbAction.SelectedValue; CInfoActionServeur info = null; foreach (CInfoActionServeur infoTmp in CActionLancerActionServeur.GetListeActionsPossibles(ActionLancer.Process.IdSession)) { if (infoTmp.Code == strCode) { info = infoTmp; break; } } if (info != null) { foreach (string strNomParametre in info.NomsParametres) { CFormuleForParametre formule = new CFormuleForParametre(strNomParametre, strNomParametre); formule.Formule = ActionLancer.GetFormuleForParametre(strNomParametre); lst.Add(formule); } } } lst.Sort(); m_listeExpressions = lst; int nY = 0; foreach (CFormuleForParametre formule in lst) { CEditeurFormuleNommee editeur = null; if (m_reserveEditeurs.Count > 0) { editeur = (CEditeurFormuleNommee)m_reserveEditeurs[0]; m_reserveEditeurs.Remove(editeur); } else { editeur = new CEditeurFormuleNommee(); editeur.Parent = m_panelFormules; } editeur.Visible = true; editeur.Width = m_panelFormules.ClientRectangle.Width; editeur.Location = new Point(0, nY); formule.Editeur = editeur; editeur.TextFormule.Enter += new EventHandler(OnEnterZoneFormule); editeur.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge); editeur.Libelle = formule.NomConvivial; editeur.TabIndex = nY; nY += editeur.Size.Height + 1; editeur.Formule = formule.Formule; } m_panelFormules.ResumeDrawing(); }