10
votes

Création d'une commande de tabulation avec un nombre dynamique d'onglets dans Visual Studio C #

Comment créer une commande d'onglet avec un nombre dynamique d'onglets dans Visual Studio C #?

J'ai une base de données avec une table clients . J'ai besoin de créer un formulaire qui afficherait des onglets avec les premières lettres du nom de la clientèle (uniquement les premières lettres, pour lesquelles il y a des entrées dans la table doit être présente). Chaque onglet doit contenir une commande DataGrid avec les clients correspondants. Je me connecte à la base de données à l'aide de DataSet.

Où dois-je insérer l'extrait de code qui générerait ces onglets? Puis-je faire cela avec la commande de tabulation existante ou dois-je créer un contrôle personnalisé?


0 commentaires

4 Réponses :


0
votes

On dirait que le meilleur itinéraire vous permettrait de créer votre propre classe de contrôle de tabulation personnalisée. Il pourrait hériter de la commande d'onglets pour la majeure partie de sa fonctionnalité et de ses propriétés pour la DataGrid et toute autre personnalisation dont vous avez besoin. Ensuite, lorsque vous obtenez vos clients, vous pouvez créer un onglet pour chaque lettre dont vous avez besoin et configurez les propriétés correspondantes.


0 commentaires

2
votes

Vous ajouteriez le code pour générer les onglets dans lesquels vous déterminez quelles lettres doivent être affichées, probablement lorsque vous récupérez les données ou dans la méthode sur le formulaire () . Vous devriez être capable d'ajouter / supprimer de manière dynamique des onglets de la commande intégrée de l'onglet. Vous pouvez vérifier le code de concepteur pour une idée de la façon de le faire ou des documents.

Notez que ce n'est pas nécessairement une bonne idée d'ajouter un onglet séparé pour chaque personnage. 26 onglets (qui se produira lorsque votre base de données est raisonnablement importante) est un nombre assez important d'onglets pour que quelqu'un examine - cela ne fera pas nécessairement plus rapidement les choses.

Au lieu de cela, envisagez de fournir un mécanisme de filtrage dynamique, similaire à la zone de recherche du menu de démarrage de Vista. Votre utilisateur peut taper un seul caractère (en supposant que vous n'écrivez pas une sorte de kiosque ou de logiciel à écran tactile uniquement) et de zoomer immédiatement sur les noms correspondants. Cela fonctionnerait idéalement avec un listview dans la liste ou les détails de détail.


0 commentaires

1
votes

Je ne me souviens pas des détails. Mais il suffit de regarder le code dans le fichier xxx.designer.cs pour un formulaire que vous avez contenant une commande d'onglets. Vous verrez le code généré pour ajouter un nouvel onglet. Il suffit de répliquer ces lignes, vous pouvez ajouter un nouvel onglet quand vous le souhaitez.


0 commentaires

16
votes

Vous pouvez générer des onglets dynamiques avec le tabcontrol existant. Voici un exemple de la manière dont il peut être fait de manière quelque peu pseudo-code forme ... xxx


1 commentaires

Couleur fixe: tabpage.usevisuisualstylecolor = true;