none
ajout d'une colonne virtuel sur un sqldatasource RRS feed

  • Question

  • Bonjour groupe, j'aimerais savoir si il est possible d'ajouter par voie de programmation une colonne dans un objet sqldatasource, mais qui ne sera pas nécéssairement un champ dans la table, donc se sera une colonne non bind(unbound)

    merci

    mercredi 23 mars 2011 21:11

Toutes les réponses

  • Bonjour,

     

    Vous pouvez ajouter une nouvelle colonne dans un objet de type DataTable qui se trouve dans un DataSet. On ne peut pas ajouter une colonne sans l’associer avec une table. Pouvez-vous détailler votre scenario et expliquer les raisons pour lesquels vous voulez ajouter cette colonne ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     


    Suivez MSDN sur Twitter 

    jeudi 24 mars 2011 15:07
  • bien sur et merci de votre réponse et aide :)

    Scénario:

    j'ai une grille (gridview) avec plusieurs colonne associé à des champ d'une table, j'ai aussi d'autre colonne de cette grille qui ne font qu'afficher certaine donnée relative aux autres champs, exemple pour un sous-formulaire inventaire d'une commande, j'aurai une colonne affichant des prix * par une quantité, dans ce cas simple je créer un champ calculer dans Sql qui se nommeras Total et ensuite je peut afficher ce champ dans ma gridview, le grand avantage de ce champ calculé est qu'il me permettras aux moins de trier ma colonne total.

    Mon problème est le suivant:

    J'ai d'autre colonne dans cette grille qui doivent afficher des données non seulement qui sont relative a d'autre champ de cette même grille, mais aussi qui peuvent dépendre de d'autres tables, ce qui pour moi devient vraiment trop compliquer en requête Sql pour créer des champs calculés.  Alors voila pourquoi je voulais créer des champs virtuel temporaire pour permettre aux client de faire du triage en cliquant sur les entêtes de colonne et ce même si ses champs n'existe pas dans la table.  D'ailleurs lorsque je clique sur ses colonnes non associé (qui ne sont pas binder) asp.net me dit que la colonne n'existe pas et ces normal.  Finalement étant donné parfois que je veux développer plus vite que les réponse que je recoit sur des forums, j'ai trouvé le moyen de me créer des colonnes temporaire en requête Sql plutôt qu'avec asp directement dans la grille, comme suis:

    "ALTER TABLE table ADD colonne".  Alors maintenant lorsque je clique sur les entêtes de colonne (Finalement des linkbutton que j'ai mit dans les header template pour chaque colonne non binder qui réponde chacun à leur évènement) Je fais exécuter du code pour bien trier ma table et par la suite j'enregistre cette ordre dans ce champ temporaire que j'ai créer, puis par la suite je fais le tri de ma grille et ensuite j'efface le champ qui n'est plus utile de cette façon:

    "ALTER TABLE table DROP colonne"

    Alors en résumer dans ce champ temporaire, j'ai des chiffre numérique qui ne font dans le fond que servir à trier ma table dans un certain ordre, ce qui n'est pas possible directement par la grille, le pire de cette grille est que les colonne ont déjà les bonnes données, mais pas moyen de faire de tri sur ses données non binder.  Je suppose que le triage de ses grille(gridview) ne se fait que par l'entremise de Sql et non pas par la grille elle même, sinon je crois pas que j'aurais se problème.  Je fais le remplissage de tout ses champs non binder dans l'évènement RowDataBound.

    Je sais que tout cela semble tordu, mais au moins ca fonctionne et j'obtient les résultats escomptés.  J'espère que tu as biens compris :)) Si jamais tu as besoin de plus de détails, fait le moi savoir.

    Es-ce que selon toi, j'utilise une bonne méthode ou tu aurais quelque chose de mieux à proposer?

    merci encore

    jeudi 24 mars 2011 17:37