如何进行团体订购

时间:2019-04-27 12:31:53

标签: asp.net linq

我想对该表进行分组订购,但不能对一列进行分组。

[this is my first gridview]

这是我上面的gridview。我想像下面这样转换。

[I want to transform as this]

但是我做不到。我使用以下代码:

var info = (from c in db.myTable
            group c by c.name into groups
            select new
                   {
                       id = groups.Key,
                       ogrencininAdi = groups.Select(n => n.ogrencininAdi).FirstOrDefault(),
                       ogrencininSoyadi = groups.Select(n => n.ogrencininSoyadi).FirstOrDefault(),
                       ogrenciNo = groups.Select(n => n.ogrenciNo).FirstOrDefault(),
                       dersinAdi = groups.Select(n => n.dersinAdi).FirstOrDefault(),
                       yokZamani = groups.Select(n => n.yokZamani).FirstOrDefault(),
                       kacinciDers = groups.Select(n => n.kacinciDers).ToList(),
                 }).ToList();

gridViewabsentStudent.DataSource = info;
gridViewabsentStudent.DataBind();

但是我在这条线上有问题:

Order = groups.Select(n => n.Order).ToList()

Order = groups.Select(n => n.Order).FirstOrDefault()不成功。

我想解决这个问题。我希望我描述了我的问题

this is my final screen.

在该列中已存储:

"System.Collections.Generic.List`1[System.Nullable`1[System.Int32]]" 

我想在该栏中看到第二张照片。

1 个答案:

答案 0 :(得分:0)

查看您发布的最后一张图片,看来您所需要的只是kacinciDers属性的字符串表示形式。

如果我理解问题,则可以在您的select中将

更改为下面的内容  正确。

var g = (from c in db.myTable
     group c by c.name into groups
     select groups)
    .AsEnumerable(); // first lets change this to Enumerable

var model = g.Select(groups => new
     {
         id = groups.Key,
         ogrencininAdi = groups.Select(n => n.ogrencininAdi).FirstOrDefault(),
         ogrencininSoyadi = groups.Select(n => n.ogrencininSoyadi).FirstOrDefault(),
         ogrenciNo = groups.Select(n => n.ogrenciNo).FirstOrDefault(),
         dersinAdi = groups.Select(n => n.dersinAdi).FirstOrDefault(),
         yokZamani = groups.Select(n => n.yokZamani).FirstOrDefault(),
         kacinciDers = string.Join(", ", groups.Select(n => n.kacinciDers.ToString()).ToList()),
     }).ToList();

gridViewabsentStudent.DataSource = model;

如果无法发表评论,我会很乐意提供帮助。