2016-05-04 3 views
0

У меня есть две таблицы: 1. Клиенты: clientID, имя, фамилия, адрес, 2. Посетите: visitID, clientID, Date, Place. Я хочу отображать в списке GridView с подробностями посещения: имя, фамилия, адрес, дата, место.Показать данные gridview из двух таблиц LINQ

У меня есть что-то подобное, но это не работает должным образом, он показывает только данные из таблицы Visit:

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

Я вижу на GridView только столбцы из одной таблицы Посещения: visitID, clientID, Date, Place. Я хочу отображать данные из двух таблиц. – Risksec7

+0

Вы привязываете gridview к Visites, в котором есть только информация о посещении. Вы можете привязать gridview к переменной посещения (из запроса LINQ), если у нее есть данные, которые вы хотите отобразить. –

+0

Не могли бы вы показать мне, как это должно выглядеть? – Risksec7

ответ

0

Попробуйте связывание посещения переменным, как это кажется, что это данные, которые вы хотите.

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

Теперь его работы. Благодаря! – Risksec7

Смежные вопросы