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

0000001995     -      22/12/2024

Mercator 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 += 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 -= 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));
        }

    }
}

La valeur de l'ID "F205730BDA" doit être adaptée selon le paramétrage de l'écran.



Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)