//-----------------------------------
        private void m_lnkAddParametre_LinkClicked(object sender, EventArgs e)
        {
            CParametreJointure        parametre = new CParametreJointure();
            CEditeurParametreJointure editeur   = new CEditeurParametreJointure();

            editeur.Init(m_objetJointure, parametre);
            editeur.Dock = DockStyle.Top;
            m_panelJointure.Controls.Add(editeur);
            editeur.BringToFront();
            editeur.Focus();
        }
        //-----------------------------------
        private void FillParametres()
        {
            m_panelJointure.SuspendDrawing();
            foreach (Control ctrl in new ArrayList(m_panelJointure.Controls))
            {
                ctrl.Visible = false;
                m_panelJointure.Controls.Remove(ctrl);
                ctrl.Dispose();
            }

            foreach (CParametreJointure parametre in m_objetJointure.ParametresJointure)
            {
                CEditeurParametreJointure editeur = new CEditeurParametreJointure();
                editeur.Init(m_objetJointure, parametre);
                m_panelJointure.Controls.Add(editeur);
                editeur.Dock = DockStyle.Top;
                editeur.BringToFront();
            }
            m_panelJointure.ResumeDrawing();
        }
 //-----------------------------------
 public void RemoveParametre(CEditeurParametreJointure editeur)
 {
     editeur.Visible = false;
     m_panelJointure.Controls.Remove(editeur);
     editeur.Dispose();
 }
        //-----------------------------------
        private void m_btnOk_Click(object sender, EventArgs e)
        {
            if (m_txtNomTable.Text.Length == 0)
            {
                MessageBox.Show(I.T("Please enter a table name|20004"));
                return;
            }
            List <CParametreJointure> lstParametres = new List <CParametreJointure>();
            ArrayList lst = new ArrayList(m_panelJointure.Controls);

            lst.Reverse();
            foreach (Control ctrl in lst)
            {
                CEditeurParametreJointure editeur = ctrl as CEditeurParametreJointure;
                if (editeur != null)
                {
                    CResultAErreur result = editeur.MajChamps();
                    if (!result)
                    {
                        editeur.BackColor = Color.Red;
                        CFormAfficheErreur.Show(result.Erreur);
                        return;
                    }
                    editeur.BackColor = BackColor;
                    lstParametres.Add(editeur.Parametre);
                }
            }

            List <IColumnDeEasyQuery> lstColonnes = new List <IColumnDeEasyQuery>();

            foreach (ListViewItem item in m_wndListeColonnes1.Items)
            {
                if (item.Checked)
                {
                    IColumnDeEasyQuery col = item.Tag as IColumnDeEasyQuery;
                    if (col != null)
                    {
                        bool bColExiste = false;
                        foreach (IColumnDeEasyQuery colEx in m_objetJointure.ColonnesSource)
                        {
                            CColumnEQFromSource colExSrc = colEx as CColumnEQFromSource;
                            if (colExSrc != null && colExSrc.IdColumnSource == col.Id)
                            {
                                colEx.ColumnName = item.Text;
                                lstColonnes.Add(colEx);
                                bColExiste = true;
                                break;
                            }
                        }
                        if (!bColExiste)
                        {
                            IColumnDeEasyQuery newCol = new CColumnEQFromSource(col);
                            newCol.ColumnName = item.Text;
                            lstColonnes.Add(newCol);
                        }
                    }
                }
            }

            foreach (ListViewItem item in m_wndListeColonnes2.Items)
            {
                if (item.Checked)
                {
                    IColumnDeEasyQuery col = item.Tag as IColumnDeEasyQuery;
                    if (col != null)
                    {
                        bool bColExiste = false;
                        foreach (IColumnDeEasyQuery colEx in m_objetJointure.ColonnesSource)
                        {
                            CColumnEQFromSource colExSrc = colEx as CColumnEQFromSource;
                            if (colExSrc != null && colExSrc.IdColumnSource == col.Id)
                            {
                                colEx.ColumnName = item.Text;
                                lstColonnes.Add(colEx);
                                bColExiste = true;
                                break;
                            }
                        }
                        if (!bColExiste)
                        {
                            IColumnDeEasyQuery newCol = new CColumnEQFromSource(col);
                            newCol.ColumnName = item.Text;
                            lstColonnes.Add(newCol);
                        }
                    }
                }
            }
            m_objetJointure.UseCache           = m_chkUseCache.Checked;
            m_objetJointure.ModeJointure       = (CODEQJointure.EModeJointure)m_cmbTypeJointure.SelectedIndex;
            m_objetJointure.ColonnesSource     = lstColonnes;
            m_objetJointure.ParametresJointure = lstParametres;
            m_objetJointure.NomFinal           = m_txtNomTable.Text;

            DialogResult = DialogResult.OK;
            Close();
        }