显示来自两个表LINQ的gridview数据

时间:2016-05-04 14:21:51

标签: c# asp.net linq gridview webforms

我有两张桌子:  1.客户端:clientID,Name,Surname,Address,  2.访问:visitID,clientID,日期,地点。 我希望在GridView列表上显示访问详细信息:名称,姓氏,地址,日期,地点。

我有类似的东西,但它无法正常工作,它只显示来自Visit table的数据:

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();
                }

            }
        }

1 个答案:

答案 0 :(得分:0)

尝试绑定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,
              });

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