Publié mardi 6 avril 2010 23:05 par Audrey

[RIA Services] DomainDataSource et Parameter

Comme vu dans un de mes articles précédent, il est possible d'utiliser un ou plusieurs paramètres pour la requête associée au DomainDataSource. Il est aussi possible de pouvoir passer ces paramètres via le code-behind de votre application. Pour notre exemple on utilise toujours les tables Customers et Orders de la base de données Northwind.

Côté XAML :

<riaControls:DomainDataSource x:Name="source" AutoLoad="False" >
  <riaControls:DomainDataSource.DomainContext>
    <ds:NorthwindContext/>
  </riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>

<ComboBox x:Name="CbCustomers" Grid.Row="0" SelectionChanged="CbCustomers_SelectionChanged" />
<my:DataGrid x:Name="dgOrders" Grid.Row="1" ItemsSource="{Binding Data, ElementName=source}" />


Ajout du DomainDataSource et Binding avec la DataGrid.
 

Côté Code-Behind :

NorthwindContext contextCustomers;

public MainPage()
{
  InitializeComponent();
  contextCustomers = new NorthwindContext();
}

private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
  CbCustomers.ItemsSource = contextCustomers.Customers;
  contextCustomers.Load(contextCustomers.GetCustomersQuery());
}

private void CbCustomers_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
  // Remise à zéro des paramètres du DomainDataSource
  source.QueryParameters.Clear();

  // Déclaration et instanciation d'un nouveau paramètre
  Parameter p = new Parameter();
 
  // Nom du paramètre (mettre le même que celui déclaré dans le prototype de la méthode contenant l'appel aux données)
  p.ParameterName = "customerId";

  // Valeur du paramètre
  p.Value = ((Customers)CbCustomers.SelectedItem).CustomerID;

  // Association de la méthode du DomainContext au DomainDataSource
  source.QueryName = "GetOrdersWithParamQuery";

  // Ajout des paramètres
  source.QueryParameters.Add(p);

  // Chargement du DomainDataSource
  source.Load();
}

Et les Orders correspondant au Customer sélectionné dans la ComboBox pourront s'afficher dans la DataGrid.


Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01