Przemysław Szkaradek Ответов: 1

Как назначить результат группировки в listbox или datagridview в winforms?


Я хочу отобразить сгруппированные данные по странам, отсортированным по ключу

 using (NORTHWNDEntities baza = new NORTHWNDEntities())
    {
    var score = from customers in dataBase.Customers
                                group customers by customers .Country.ToUpper()
                                into sort
                                orderby sort.Key
                                select sort;
    foreach (var group in score )
                    {
                        Convert.ToString(group.Key);

                        foreach (var item in grupa)
                        {
                            var row = Convert.ToString(item.CompanyName) +               " : "
                             + Convert.ToString(item.Phone) + " : "
                             + Convert.ToString(item.Address);

                        }
                    }
     dataGridView1.DataSource = ???
     '''
      or
     '''
     listBox.DataSource = ???


}


Что я уже пробовал:

Я пробовал это сделать, но это оценка на одной записи в группе.

listScoreBox.DataSource = score.Select(s => new { s.Key, s.FirstOrDefault().CompanyName, s.FirstOrDefault().City }).ToList();

1 Ответов

Рейтинг:
2

OriginalGriff

В вашем коде есть много неправильного или, по крайней мере, странного.

Convert.ToString(group.Key);
Не делает абсолютно ничего полезного. Если вы не сохраните результат или не используете его иным образом, преобразованное значение будет отброшено.
var row = Convert.ToString(item.CompanyName) +               " : "
 + Convert.ToString(item.Phone) + " : "
 + Convert.ToString(item.Address);
находится внутри цикла, поэтому значение отбрасывается в конце тела цикла, когда row выходит за рамки видимости.

Вам нужно сесть и решить, что вы пытаетесь сделать, и создать либо полезную коллекцию, либо datatable, которая содержит значения, которые вы хотите отобразить, в виде отдельных свойств или столбцов.

Поскольку я понятия не имею, как выглядят ваши входные данные или что, черт возьми, находится внутри grupa или то , что вы ожидаете показать пользователю, я не могу точно сказать вам, что делать.
Но немного размышлений должно привести вас туда. Начните с того, что подумайте о ваших входах (неизвестных нам) и желаемых выходах (также неизвестных нам) и определите, как вы будете переходить от одного к другому вручную - это должно помочь вам решить, что вам нужно сказать программному обеспечению.


Przemysław Szkaradek

Я хочу отобразить все результаты для каждой страны в группе