Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Utilisation d'un second objet "Explorateur de fichiers" pointant vers un répertoire local

0000001995     -      07/11/2013

Mercator Aruba permet d'ajouter un nombre illimité d'objets "Explorateur de fichiers" dans les fiches de signalétiques (notamment). Pour une fiche client par exemple, cet objet pointe toujours vers le sous-répertoire CLI + identifiant du client du répertoire FILES. Considérant cela, il n'est pas très intéressant de pouvoir juxtaposer deux objets de ce type. Le code indiqué ci-dessous permet de changer le repértoire pour le second explorateur de fichiers, en le faisant pointer, par exemple, vers C:\test\files\cli\identifiant du client. Toute autre adaptation est bien entendu possible.

Cet exemple est construit sur base du customizer SigCli, qui implémente les interfaces suivantes :

Il utilise l'évènement AfterRead qui permet de détecter facilement le passage à une autre fiche du signalétique.

Zoom
namespace SigCli
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
    {

        public void FormLoadCustomize(System.Windows.Forms.Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            MercatorUi.MovableControls.MovableFileView movableFileView = (MercatorUi.MovableControls.MovableFileView)sigForm.MovableControls["F205730BDA"];
            movableFileView.AfterRead += new MercatorUi.MovableControls.MovableFileView.AfterReadHandler(fileView_AfterRead);
        }

        public void FormClosedCustomize(System.Windows.Forms.Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            MercatorUi.MovableControls.MovableFileView movableFileView = (MercatorUi.MovableControls.MovableFileView)sigForm.MovableControls["F205730BDA"];
            movableFileView.AfterRead -= new MercatorUi.MovableControls.MovableFileView.AfterReadHandler(fileView_AfterRead);
        }

        void fileView_AfterRead(object sender, EventArgs e)
        {
            MercatorUi.MovableControls.MovableFileView movableFileView = (MercatorUi.MovableControls.MovableFileView)sender;
            string c_id = movableFileView.Form.DataSource.Rows[0]["C_ID"].ToString().TrimEnd();
            if (c_id != "")
                movableFileView.SetCurrentFolder(@"c:\test\files\cli\" + Api.CleanRep(c_id));
        }

    }
}