Interface utilisateur de documents à l'aide QuantumGrid (TcxGrid) de Developer Express

StackOverflow https://stackoverflow.com/questions/1928321

  •  20-09-2019
  •  | 
  •  

Question

Je dois générer une interface utilisateur pour la saisie d'un document de vente (par exemple la facture). Je suis en train d'utiliser « exprimer développeur » spécifiquement la composante QuantumGrid composants de (TcxGrid). J'ai vu les démos de composants maître-détail et la recherche dans le centre de support DevExpress, mais aucun m'a aidé parce que tous utilisent 2 grilles pour gérer la relation maître-détail et modifier plusieurs enregistrements à la fois.

Je dois juste modifier un enregistrement (document) à la fois et en utilisant une paire d'objets composants dataware (par exemple TDBEdit) dans l'en-tête et une grille pour gérer les détails.

quelque chose comme ceci

Où puis-je trouver un exemple de base de l'utilisation de ces composants de cette façon?

Était-ce utile?

La solution

Lla maître / propriétés d'enfant dans le QuantumGrid sont principalement conçus pour imbriquer plusieurs éléments de la grille. Si vous configurez la relation dans les composants de données que vous pouvez simplement accrocher les commandes jusqu'à la DataSource correcte et tout fonctionne.

Donc, si vous avez deux séries de données client et la facture. La facture principale source de données est la source de données client. Ensuite, sur vos contrôles d'édition vous pointez sur la source de données client et vous pointez la grille à la facture DataSource.

Si vous pensez à ce que la relation maître / détail fait il filtre vraiment juste les dossiers sur le DataSet Détail pour correspondre à l'enregistrement en cours sur le DataSet maître. Modifier les contrôles individuels affichent toujours l'enregistrement « en cours » dans le DataSet, ils sont connectés. Grids montreront tous les enregistrements visibles dans le DataSet, ils sont connectés.

J'ai tendance à ne pas utiliser les relations maître / détail sous une forme d'édition comme vous montrer ici. Je suppose qu'il ya un moyen sur un autre écran pour choisir la facture à modifier. Je crée généralement une copie des jeux de données nécessaires avec seulement les dossiers nécessaires pour cette édition. Si j'édite une facture existante je copie les dossiers en cours. S'il est une nouvelle facture, je peux commencer par un jeu vide d'enregistrements. Il est plus de travail - j'ai des fonctions de bibliothèque générique qui copie un DataSet Structure puis copier un ou plusieurs enregistrements dans ce Dataset. En fonction de votre configuration, vous pouvez également actualisez votre base de données pour obtenir juste les dossiers qui vous intéressent. Il est évident que cela ne devrait pas se faire dans tous les cas. Un autre problème avec cette approche est que vous devez trouver un moyen de mettre à jour toute autre datasets que vous pourriez avoir avec ces données -. À savoir votre écran principal de recherche

Cependant, une fois que je reçois sur l'écran d'édition, je trouve cela rend les choses eaiser. Maintenant, je ne suis pas à me soucier de la relation maître détail au niveau supérieur. Si la facture a des relations internes maître / détail, vous pouvez simplement faire face à ceux-ci, mais vous savez que les jeux de données ont uniquement les données pour cette seule facture -. Pas tout dans la base de données

Dans le cas de votre formulaire si vous limitez les données dans les jeux de données, vous pouvez simplement brancher directement tout et il devrait fonctionner comme prévu. Vous aviez seulement un enregistrement dans le DataSet client et la facture aurait juste les dossiers de cette facture.

Autres conseils

Je pense que vous aurez besoin de prendre soin des relations maître-détail dans vos composants ClientDataSource. La grille sera alors suivre cette relation.

Pourquoi demandez-vous pas à support@devexpress.com?

La raison pour laquelle j'ai un abonnement est vlc, en dehors de la qualité des composants bien sûr, parce qu'ils ont un site excellent réseau de soutien et le personnel?

Il vous demandez directement aux gens qui ont écrit les choses, et ils sont très probablement heureux de vous fournir un exemple de programme (au moins je l'ai reçu beaucoup d'échantillons au cours des années).

Le principe est le même que toute autre relation maître-détail, quels que soient les composants. Vous devrez configurer le maître-détail sur le niveau de jeu de données pour accomplir ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top