Matt Simmons Ответов: 1

Получение привязки datagrid различных значений C# WPF


Вот мой код C#.

У меня есть привязка datagrid, которая собирает имена приложений и дает мне имя приложения и состояние оценки.

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

Колонка 1 | колонка 2(evaluationstate)
браузер | 1
офисное приложение | 1
калькулятор | 2
Блокнот | 1

пример:

общее состояние eval 1 = ??
общее состояние eval 2 = ??



try
          {
              ManagementScope scope = new ManagementScope(@"\\" + TargetComputerName.Text + @"\ROOT\ccm\ClientSDK");
              SelectQuery query = new SelectQuery("Select * From CCM_Application");
              var typeDescriptors = new ObservableCollection<ManagementObjectTypeDescriptor>();

              using (var searcher = new ManagementObjectSearcher(scope, query))
              {
                  using (var managementObjects = searcher.Get())
                  {
                      foreach (ManagementBaseObject managementObject in managementObjects)
                      {
                          using (managementObject)
                          {
                              typeDescriptors.Add(new ManagementObjectTypeDescriptor(managementObject));
                          }
                      }
                  }
              }
              this.Dispatcher.Invoke((Action)(() =>

                  CcmAppsGrid.ItemsSource = new ArrayList(typeDescriptors)));
                   CcmAppsGrid.Items.SortDescriptions.Clear();
                  CcmAppsGrid.Items.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
                  int i = CcmAppsGrid.Items.Count;
                  lblTotal.Content = "Total Apps in collection: " + i;
                                         }
          catch (Exception ex)
          {
              System.Windows.MessageBox.Show(ex.Message);
          }


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

<blockquote class="quote"><div class="op">Quote:</div>                       int count = CcmAppsGrid.SelectAll().Where(s => s["EvaluationState"].ToString().ToUpper() == "1").Count();
                     this.lblinstalled.Content = count.ToString();</blockquote>

1 Ответов

Рейтинг:
1

Gerry Schmitz

Группировка ПО и подсчет:

c# - Group by и count in List - переполнение стека[^]


Matt Simmons

Я проверил вашу ссылку, но не понимаю, как заставить ее работать. Можно ли привести рабочий пример ?