【发布时间】:2014-03-17 12:14:30
【问题描述】:
我的gridview 有四列,facilities_id、name、date 和 quantity。我的问题是我的结果中有相同的facilities_id。那么我该如何解决呢,有人可以帮助我吗?谢谢。。
另外,我希望能在 gridview 中找到前 2 行。意味着只显示前2行.. 谢谢
DataClassesDataContext db = new DataClassesDataContext();
var query = from p in db.Facilities
join v in db.Reservations on p.facilities_id equals v.facilities_id
join c in db.Reservation_Details on v.reservation_id equals
c.resevation_id
where SqlMethods.Like(c.date, "%" + DropDownList1.Text + "%")
select new
{
p.facilities_id,
p.name,
c.date,
Quantity = p.Reservations.Count()
};
GridView1.DataSource = query;
GridView1.DataBind();
这是我的输出,如何删除相同的设施 ID。
facilities_id name date quantity
F001 aa 12/01/2014 1
F001 aa 12/01/2014 12
F002 bb 12/01/2014 1
F003 cc 12/01/2014 1
我希望能变成这样。
facilities_id name date quantity
F001 aa 12/01/2014 13
F002 bb 12/01/2014 1
F003 cc 12/01/2014 1
【问题讨论】:
-
尝试使用
Distinct()和facilities_id -
假设您需要按
facilities_id对输出进行分组。 -
好吧,如果你想这样,数量似乎无关紧要,那为什么要显示呢?如果您也需要数量,那么复式输入似乎是合法的。您可以对数量进行分组和总结。
-
@user3428639 使用
varchar而不是Date/DateTime约会是你真正应该考虑的事情......