2016-05-04 4 views
0

Ich habe zwei Tabellen: 1. Clients: ClientID, Name, Nachname, Adresse, 2. Besuchen Sie: visitID, clientID, Datum, Ort. Ich möchte auf GridView Liste mit Besuchsdetails angezeigt werden: Name, Vorname, Adresse, Datum, Ort.Anzeigen auf Gridview-Daten aus zwei Tabellen LINQ

Ich habe so etwas, aber es nicht korrekt funktioniert, es ist nur die Daten von Visit Tabelle zeigt:

using (NewEntities dc = new NewEntities()) 
      { 
       var visits = (from a in dc.Visits 
           join b in dc.Clients on a.clientID equals b.clientID 
           select new 
           { 
            a, 
            b.Name,b.Surname,b.Address, 

           }); 

       if (visits != null) 
       { 
        allVisits = new List<Visits>(); 
        foreach (var i in visits) 
        { 
          Visits c = i.a; 

         allVisits.Add(c); 
        } 
       } 

       if ((allVisits == null) || (allVisits.Count == 0)) 
       { 
        allVisits.Add(new Visits()); 
        myGridView.DataSource = allVisits; 
        myGridView.DataBind(); 
        myGridView.Rows[0].Visible = false; 

       } 
       else 
       { 
        myGridView.DataSource = allVisits; 
        myGridView.DataBind(); 
       } 

      } 
     } 
+0

Ich sehe auf GridView nur Spalten aus einer Tabelle Besuche: visitID, clientID, Datum, Ort. Ich möchte Anzeigedaten aus zwei Tabellen anzeigen. – Risksec7

+0

Sie binden die Gridview an Besuche, die nur Besuchsinformationen enthalten. Sie könnten die Gridview an die visits-Variable (aus der LINQ-Abfrage) binden, wenn diese die Daten enthält, die Sie anzeigen möchten. –

+0

Können Sie mir zeigen, wie es aussehen soll? – Risksec7

Antwort

0

Versuchen Sie, die Besuche Variable binden, wie es scheint, wie, dass die Daten moechten.

using (NewEntities dc = new NewEntities()) 
{ 
    var visits = (from a in dc.Visits 
       join b in dc.Clients on a.clientID equals b.clientID 
       select new 
       { 
        a, 
        b.Name,b.Surname,b.Address, 
       }); 

    myGridView.DataSource = visits.ToList(); 
    myGridView.DataBind(); 
} 
+0

Jetzt ist es Arbeit. Vielen Dank! – Risksec7