J'ai un Dataset je veux appliquer un filtre basé sur un nombre de type champ de jeu de données enregistrement, quelque chose comme: « NESTED_DATASET_FIELD.RecordCount> 0 »Comment filtrer un jeu de données basé sur un enregistrement de jeu de données imbriqué?
Répondre
Si l'ensemble de données provient d'un moteur de stockage basé sur SQL, utilisez une sélection distitter requête sur la table jointe avec uniquement les champs de la table maître dans le jeu de résultats. Laissez le moteur SQL faire le travail pour vous.
En fonction de votre situation, vous pouvez utiliser:
En
OnFilterRecord
événement, vous pouvez avoir:Accepter: = myDataSetField.NestedDataSet.RecordCount> 0; Si vous avez un backend SQL, vous pouvez utiliser le
Exists
ouCount
pour récupérer uniquement les enregistrements dont vous avez besoin. Peut-être est la meilleure approche si vous êtes sur un réseau. Cependant, je ne sais pas quelle infrastructure vous avez.En
OnFilterRecord
événement, vous pouvez avoir:Accept: = non myDataSetField.IsNull; // Il suffit de tester si le champ de DataSet est vide - qui est l'un des plus rapides façons de le faire ... mais cela dépend de la structure de vos données/ensemble de données, etc.
Parfois, vaut mieux avoir un champ dédié dans votre DataSet/Table pour spécifier ce statut, car obtenir ces informations à partir de l'ensemble de données imbriqué peut être coûteux. (Il faut le récupérer au moins partiellement, etc.)
De même, pour les mêmes considérations (voir 4. ci-dessus), vous pouvez peut-être avoir une procédure stockée (si votre backend DB le permet) pour obtenir cette information.
HTH
- 1. Agréger un jeu de données
- 2. Comment mapper un jeu de données et un jeu de données typé à l'aide d'Automapper?
- 3. Comment trier un jeu de données?
- 4. Comment renvoyer un jeu de données à partir d'une valeur de filtrage de jeu de données
- 5. comment puis-je utiliser un jeu de données pour l'affiner
- 6. Combiner plusieurs colonnes de jeu de données à un jeu de données
- 7. Comment lier le contenu Web dans une base de données avec un modèle de jeu imbriqué?
- 8. Filtrage du jeu de données avec condition
- 9. visualiseur de jeu de données
- 10. Jeu de données de macroordinateur
- 11. Génération de jeu de données DBUnit automatique
- 12. Comment créer un jeu de données tapé par le concepteur
- 13. PHPUnit Database Extension - Comment avoir un jeu de données vide?
- 14. comment sélectionner un jeu de données particulier depuis sql
- 15. Comment attribuer dynamiquement un jeu de données dans FastReport?
- 16. PHP Doctrine: Jeu personnalisé imbriqué?
- 17. Base de données Django avec un jeu de requête personnalisé?
- 18. rechercher un jeu de données à partir du fichier xml
- 19. Optimisation du modèle de jeu imbriqué
- 20. jQuery: Cadre d'accès dans un jeu de cadres imbriqué
- 21. Utilisation de TransactionScope avec un jeu de données typé
- 22. Produire un jeu de données de type mots croisés
- 23. Stockage de données de jeu Flash
- 24. Problème d'affichage de jeu de données ASP.Net
- 25. Filtrage d'un jeu de données dans wpf
- 26. Conception de jeu de données .NET
- 27. Bibliothèque du modèle de jeu imbriqué
- 28. Nom de jeu de données incorrect
- 29. créer Excel xlsx de jeu de données
- 30. Jeu de données de carte aux objets
Les données CAMES à partir d'un fichier XML avec trois niveaux d'imbrication de table. Merci –
Si vous analysez vous-même les données XML, vous pouvez ajouter un champ supplémentaire ChildNodeCount à l'ensemble de données maître et le remplir pendant l'analyse et utiliser OnFilterRecord pour vérifier s'il est> 0. De toute façon: à la fin, il faut compter les enregistrements enfant: Avoir le compte dans la table principale vous donnera un avantage de vitesse sur le filtrage en utilisant l'analyse des enregistrements dans un ensemble de données détaillées, mais cela ne sera un problème si vous avez un grand quantités de données. –