2008-12-18 13 views
0

J'utilise Winforms Reporting Services (RDLC) pour générer un rapport avec un sous-rapport. Mon problème est que le sous-rapport n'est pas filtré par l'ID parent.Filtrage des données de sous-rapport dans un rapport Winforms

Un exemple simple du modèle de données peut être un département qui contient des employés.

Dans le rapport, je souhaite afficher tous les départements et avoir un sous-rapport pour montrer les employés appartenant à ce département. J'ai créé un jeu de données avec deux DataTables (département et employé). J'ai créé une relation entre les deux tables en utilisant la colonne DepartmentId.

Dans le formulaire I Remplissez chaque tableau en utilisant les commandes de remplissage appropriées. Je remplis d'abord la table du département, puis remplis la table des employés, c'est-à-dire, sélectionnez * Deparment et Select * de Employee.

Maintenant pour les RDLC réels: Le département rdlc utilise la source de données Deparment et affiche des informations sur le département. J'ai laissé tomber un contrôle de sous-rapport sur ce rdlc et ai installé les propriétés. Je passe un ReportProperty au sous-rapport qui est le Field! DepartmentId.

Dans l'employé rdlc j'ai ajouté la source de données Employee et créé un filtre sur Property! DepartmentId. Lorsque j'exécute le rapport, je peux faire défiler chaque département mais le sous-rapport ne s'affiche pas. Si je supprime le filtre de la source de données Employé, le sous-rapport s'affiche mais affiche tous les employés.

Dans le formulaire lui-même, je gère le traitement des sous-traitements et l'ajout de la source de données Employee au rapport.

Des idées sur la façon de lier les données du sous-rapport au parent?

Répondre