IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[ASP.NET 2.0][C#] Datagrid et Foreign key


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut [ASP.NET 2.0][C#] Datagrid et Foreign key
    Bonjour !
    Je dispose de 2 tables : Employés et Entreprises. Dans ma table entreprise j'ai un champ id_administrateur qui est une FK vers employés.

    J'aimerai lister toutes les entreprises à l'aide d'un DataGrid.
    Ce qui se passe actuellement c'est que quand j'affiche ma table, j'ai une colone avec les ID et j'aimerai une colonne avec le nom des utilisateurs directement.

    Ma question est donc : comment mettre des entrées de plusieurs tables dans un datagrid.

    J'ai bien essayé cette méthode : http://searchwebservices.techtarget....824493,00.html mais je bloque au niveau 3 :

    STEP 3: Add and DataBind a DataGrid to your DataSource

    * Select the tab with WebForm1.aspx (or open it) and drag-and-drop the employee table from the Server Explorer to the design surface. This should create a Connection component and a DataAdapter component on the designer surface.
    * Select the DataAdapter1 in the designer tray, then select the Configure Data Adapter . . . link beneath the Properties window. This opens the Data Adapter Configuration Wizard. Configure this DataAdapter using all the default selections (at least, for the purpose of this example. You can modify these as needed for your own applications).
    * Drag-and-drop the jobs table from the Server Explorer to the design surface. This should only create a DataAdapter (it should use the Connection from earlier in this step, and not have to create a new one).
    * Select the DataAdapter2 in the designer tray, then select the Configure Data Adapter . . . link beneath the Properties window. Again, use all the defaults values in the Wizard.
    * Drag-and-drop a DataSet item from the Data tab of the Toolbox, at which point the Add Dataset dialog appears. Make sure that you select Typed Dataset and that the DataGridRelations.Employees DataSet is selected in the drop-down list box.
    Quand je droppe ma table sur une fenetre aspx, j'ai juste le contenu de ma table qui s'affiche dans le designer... Et ca me crée un Gridview et pas un dataadapter comme ce qui est marqué... Du coup je suis perdu et je ne vois pas comment avancer.

    De l'aide please

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Lorsque tu crées via l'assistant du designer, tu peux accéder à la requête qu'il exécute pour obtenir les données.. tu peux y intégrer la jointure nécessaire en SQL pour obtenir le nom au lieu de l'id dans ta colonne

  3. #3
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut
    Ok, dans le .aspx j'ai maintenant ca :

    <asp:GridView ID="GridView_Companies" runat="server" AllowPaging="True" AllowSorting="True"
    AutoGenerateColumns="False" DataSourceID="SqlDataSource1" GridLines="None" Width="80%" CssClass="gridview"
    AlternatingRowStyle-CssClass="even">
    <AlternatingRowStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="even" />
    <RowStyle Height="30px" />
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
    SelectCommand="SELECT Companies.name, Users.name AS Expr1 Companies INNER JOIN Users ON Companies.admin_id = Users.id"></asp:SqlDataSource>


    J'ai donc modifié la requette. Cependant, quand je retourne dans le panneau de configuration du grid (en repassant en mode graphique, et en cliquant sur Modify Colums) je ne vois pas où ajouter les colonnes que je veux afficher

  4. #4
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par défaut
    C'est bon. Merci beaucoup pour le coup de pouce

  5. #5
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Avec plaisir :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C# et ASP.NET] Dimension d'un Datagrid
    Par matinho dans le forum ASP.NET
    Réponses: 10
    Dernier message: 02/02/2008, 16h36
  2. [ASP.NET 2.0][C#] Datagrid et Filtre
    Par patricklinden dans le forum ASP.NET
    Réponses: 15
    Dernier message: 02/10/2007, 10h10
  3. [ASP.Net] Remplir un DataGrid
    Par pinson dans le forum Delphi .NET
    Réponses: 5
    Dernier message: 10/02/2007, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo