J'essaie de créer un rapport de services de reporting SQL Server local ( i Créez un Lorsque je regarde la boîte de dialogue qui apparaît après avoir cliqué sur p>
Y a-t-il quelque chose de spécial que je dois être conscient de (rendre la classe .rdlc code> fichier) et connectez ce rapport à certains ensembles de données que je génère dans le code (aucune connexion directe SQL Server). < / p>
ReportDataProvider CODE> Classe avec des méthodes d'instance qui renvoient
ilist
Ajouter un jeu de données CODE> dans les données code> Neude dans les données
Données de rapport CODE> Fenêtre Explorateur, je vois Une tonne de mes classes énumérées là-bas - mais pas ma classe de fournisseur de données. P>
statique code>? Décorer avec un certain attribut?) Pour qu'il apparaisse dans cette liste déroulante des sources de données possibles? J'ai essayé diverses choses, mais j'ai échoué à trouver un moyen de faire fonctionner cela correctement ... P>
3 Réponses :
Je fais des recherches et j'essaie différentes façons d'ajouter des cours. Malheureusement, cela se produit ne peut pas voir les classes statiques fortes> dans ce concepteur. J'ai essayé différentes manières mais pas de chance. Pour les classes non statiques Ce manuel fonctionne pour moi à chaque fois, même avec i Utilisation de VS 2013 Ultimate Update 2. p> Ceci est mes classes: p> interfaces code> comme
iliste code>, mais je ne le représente pas Ici: p>
using System.Collections.Generic;
namespace YourReportNamespace
{
public class ReportClass
{
public List<string> TestReportData()
{
return new List<string>();
}
public static List<string> StaticTestReportData()
{
return new List<string>();
}
}
public class ReportWithFieldsClass
{
private List<string> Data = new List<string>();
public List<string> TestReportData()
{
return Data;
}
public List<string> TestReportData2()
{
return Data;
}
public static List<string> StaticTestReportData()
{
return new List<string>();
}
}
public static class ReportWithFieldsStaticClass //This class will not appear
{
private static List<string> Data = new List<string>();
public static List<string> StaticTestReportDataFromField()
{
return Data;
}
public static List<string> StaticTestReportData()
{
return new List<string>();
}
}
}
Merci pour vos efforts - Malheureusement, c'est à peu près ce que j'ai essayé aussi - et cela ne fonctionne jamais pour moi. Peu importe si je fais la classe ou les méthodes statique code> ou non, si je les mettit dans le même assemblage que le rapport ou une autre (référencée) - je ne vois jamais ma classe mentionnée comme une valide
datasource code> .....
Lorsque je cherche autour de vous, je trouve ce Réponse . Maby C'est la réponse à votre problème? Aussi loin que vous utilisez du type générique.
eu un problème similaire. Trouvé s'il est réussi à obtenir une construction sans erreurs, mon espace de noms semblerait sélectionner dans les sources de données. P>
J'ai eu le même problème et j'ai découvert un autre cas qui pourrait être facile à manquer. Dans mon cas, les méthodes de retour de la liste de la classe contenant la liste avaient un constructeur unique avec les paramètres requis et il ne s'affichage pas sur la liste déroulante DataSource. Après avoir ajouté un constructeur sans paramètre à ma classe et à la reconstruction, il est maintenant visible! P>
Cela pourrait avoir à voir avec la manière dont l'interface utilisateur RDLC analyse les méthodes éligibles, il essaie probablement d'instancier la classe dans le processus. P>