Rechercher dans ce blog

dimanche 20 mars 2011

Pilotage de la valeur d'un attribut par un composant Silverlight

1. Création du composant Silverlight

Pour créer un composant Silverlight, l'utilisation de Visual Studio Express 2010 avec Silverlight Tools est suffisant.


Appeler le projet CRMSilverlightSlider.

Sélectionner le fichier MainPage.xaml pour modifier la couleur de fond de la zone d'affichage. Choisir la propriété Background pour l'initialiser à #FFF6F8FA.

Glisser le contrôle Slider dans la zone d'affichage.

Modifier les propriétés du Slider avec Margin à 0 et Width à 300.

Dans le fichier MainPage.xaml.cs, copier le code suivant :

using System.Windows.Browser;
 
namespace CRMSilverlightSlider
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
        {
            dynamic xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");
            var fieldName = Application.Current.Resources["InitParm_data"];
            var numAttr = xrm.Page.data.entity.attributes.get(fieldName);
            numAttr.setValue(Math.Round(slider1.Value, 0));
        }
    }
}

Dans le fichier App.xaml.cs, Ajouter le code suivant :
public void CaptureInitValues(IDictionary values)
{
foreach (var val in values)
{
if (!Application.Current.Resources.Contains("InitParm_" + val.Key))
{
 Application.Current.Resources.Add("InitParm_" + val.Key, val.Value);
}
}
}

private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new MainPage();
CaptureInitValues(e.InitParams);
}

Compiler le projet pour obtenir le fichier CRMSilverlightSlider.xap.

2. Installation dans CRM2011.
Créer une ressource Web pour enregistrer le fichier Silverlight.
Ajouter la ressource Web dans le formulaire principal de l'entité Compte.



Modifier les propriétés d'affichage de la ressource Web, en n'oubliant pas d'indiquer le paramètre numberofemployees.


3. Résultat 
Le champ Nombre d'employés est maintenant piloté par le curseur Nbre d'employés.

Aucun commentaire:

Enregistrer un commentaire