Используйте LINQ для группировки по нескольким столбцам и считывания значений из разгруппированных столбцов - PullRequest
0 голосов
/ 23 августа 2010

Мне нужно сгруппировать таблицу данных по нескольким столбцам, а также прочитать данные несгруппированных столбцов.

col1 col2 col3 col4 col5 col6 col7 col8 .. col16

Здесь я группирую еена col1, col2 ... col6.Но сталкиваюсь с проблемами при чтении значений col7 ... col16

var groupedRows = from myTable in table.AsEnumerable()
                  group myTable by new
                  {
                      Col1 = myTable["Col1"],
                      Col2 = myTable["Col2"],
                      Col3 = myTable["Col3"],
                      Col4 = myTable["Col4"],
                      Col5 = myTable["Col5"],
                      Col6 = myTable["Col6"]
                  }
                  into groupedTable
                  select new
                  {
                      x = groupedTable.Key,
                      y = groupedTable
                  };

Код, с которым я сталкиваюсь, проблема:

foreach (var row in groupedRows)
{
    record = new Record();
    record.col1 = row.x.col1.ToString();
    record.col2 = row.x.col2.ToString();
    record.col3 = row.x.col3.ToString();
    record.col4 = row.x.col4.ToString();
    record.col5 = row.x.col5.ToString();
    record.col6 = row.x.col6.ToString();

    var groupdata = groupedRows.Select(x => x.y);
    if (groupdata.Count() > 0)
    {
        var groupdatas = groupdata.First();
        foreach (var item in groupdatas)
        {
        }
    }
}

Я пытаюсь прочитать var groupdata = groupedRows.Select(x => x.y); данные из разгруппированных столбцов, нобесполезно.

У меня проблема с чтением данных из y.Может кто-нибудь предложить мне, как читать?

1 Ответ

0 голосов
/ 23 августа 2010

После этого вы получите список списков: список групп, каждая со списком строк, принадлежащих этой группе. Ваша переменная groupedTable будет списком строк в этой группе.

Это действительно зависит от того, что вы пытаетесь назначить y, но, если вы это понимаете, надеюсь, вы будете на правильном пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...