2010-07-07 4 views
1

pas sûr de ce que mettre en tant que titre ici, mais fondamentalement j'utilise subsonic dans asp.net formes C# et j'ai une instance où j'ai besoin de faire défiler un jeu d'enregistrements et pour chacun, appelez la base de données pour obtenir des informations spécifiques à partir d'une vue sur cet enregistrement. Dans ce cas, il s'agit d'un lieu, d'une boucle et pour chaque lieu, je montre là dépenser et budget, mais je ne sais pas comment je peux dire utiliser un gridview, exécuter plus de code sur chaque ligne, puis ajouter plus de colonnes à cette ligne.ajoutant des colonnes et un lien moyen un ensemble de données pour gridview etc.

Merci beaucoup pour conseiller

:-)

comme une mise à jour je joue avec l'idée de quelque chose comme ceci:

DataSet ds = new DataSet(); 
    ds.Tables.Add(LinqToDataTable(club.All().Where(x => x.level == 1))); 
    ds.Tables.Add(LinqToDataTable(ViewBudgetSpend.All().Where(x => x.periodfrom == curperiod))); 

    DataRelation relation = new DataRelation("budgets",ds.Tables[0].Columns["clubId"],ds.Tables[1].Columns["clubid"]); 
    ds.Relations.Add(relation); 

travaille toujours sur ce bien.

Répondre

1

C'est une bonne idée, mais encore mieux, faites juste une grande table, pas une relation. GridView fonctionne mieux de cette façon, avec une source de données tabulaire plate, de sorte que vous êtes essentiellement en train de dénormaliser les résultats dans une table et une liaison. Cela fonctionne très bien car vous pouvez manipuler la table en ajoutant des colonnes, puis en faisant défiler les lignes et en mettant à jour avec vos nouvelles valeurs.

Alternativement, vous pouvez travailler après coup, en utilisant GridView RowDataBound, et en transmettant manuellement les données aux contrôles dans une colonne TemplateField.

HTH,

Brian

+0

oui ont pensé à créer juste un datatable plat à partir de zéro et en ajoutant mes propres colonnes, mais jamais fait cela avant et chaque fois que vous effectuez une recherche google avec un hachage vous maintenant obtenir une redirection stupide page qui ne vous permet pas de revenir en arrière, pensait utiliser réellement la relation encore que chaque utilisateur n'a pas un budget et dépenser donc besoin de courir de la relation afin que je puisse lier mieux et plus vite ... bonne idée l'esprit semble la solution la plus logique :-) merci – davethecoder

+0

Le GridView ne lie pas automatiquement les relations, donc vous devrez afficher de manière programmée les données de la table connexe ... pourrait être une solution de contournement h un DataView ou autre chose ... –

+0

ouais bon point c'est quelque chose pour un lundi je pense :-) lol de toute façon merci pour le conseil va le cocher pour toi – davethecoder

Questions connexes