Question

Je travaille sur un site Web de collègues de travail et il a créé par erreur une grille qui affiche un TypeID au lieu du TypeName. Je veux mettre le nom réel du type, au lieu de son numéro d'identification arbitraire, comme il l'a. Je vois qu’il a deux "ObjectDataSource" sur la page - un pour le type et un pour l’item. Items contient l'ID de ce que TYPE est l'élément, qui se trouve dans la source de données Items. Il tire cet ID pour remplir le gridview. Je souhaite utiliser cet ID pour extraire le nom de l'autre source de données et placer ce nom dans la vue en grille de cette colonne spécifique. Cela peut-il être fait? Puis-je utiliser deux sources de données différentes sur un gridview?

Était-ce utile?

La solution

Si je comprends bien ce que vous dites, vous avez deux sources de données qui font ceci:

1) SELECT ID, Item, ItemTypeID FROM Item
2) SELECT ID, ItemType FROM ItemTypes 

Et vous souhaitez que le nom et le type d'élément soient affichés dans votre grille.

Pour répondre à votre question fondamentale si vous pouvez utiliser les deux sources sur la grille: oui. Mais ce n’est pas le moyen le plus efficace d’effectuer cette opération, car il vous faudrait parcourir la deuxième source de données pour chaque ligne de la première.

Un meilleur moyen serait de joindre les deux sources de données et d’en avoir un seul.

Modifiez l'instruction SELECT de la première donnée en tant que telle:

SELECT i.ID, i.Item, t.ItemType FROM Item i INNER JOIN ItemTypes t ON i.ItemTypeId = t.ID;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top