WPF Listview связан с Hashtable - PullRequest
0 голосов
/ 19 февраля 2009

Я уже связал просмотр списка (сетку) с хэш-таблицей, так как я могу получить элементы оттуда? Перед использованием хеш-таблицы я просто набрал ListViewA.SelectedItems; и получил исходный код.

Ir терпит неудачу, когда я использую две foreach петли:

dlstTemplates - это мой ListView в WPF

foreach (var group in dlstTemplates.SelectedItems)
{
  foreach (var Template in group)
  {

  }
}

Ошибка 2, оператор foreach не может работать с переменными типа 'объект' потому что «объект» не содержит общественное определение для 'GetEnumerator' D: \ cs_InformeMedico \ app \ Template.xaml.cs 85 21 Demo.View

Я нашел это в отладчике:

-       dlstPlantillas.SelectedItems    Count = 1   System.Collections.IList {System.Windows.Controls.SelectedItemCollection}
-       [0] {System.Data.Linq.SqlClient.ObjectReaderCompiler.Group<string,Demo.View.Plantilla>} object {System.Data.Linq.SqlClient.ObjectReaderCompiler.Group<string,Demo.View.Plantilla>}
-       Non-Public members      
+       items   Count = 97  System.Collections.Generic.IEnumerable<Demo.View.Plantilla> {System.Collections.Generic.List<Demo.View.Plantilla>}
        key "101010112000"  string
        System.Linq.IGrouping<K,T>.Key  "101010112000"  string
-       Results View    Expanding the Results View will enumerate the IEnumerable   
+       [0] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [1] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [2] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [3] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [4] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [5] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [6] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [7] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [8] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [9] {Demo.View.Plantilla}   Demo.View.Plantilla
+       [10]    {Demo.View.Plantilla}   Demo.View.Plantilla
-       Raw View        
-       [System.Windows.Controls.SelectedItemCollection]    Count = 1   System.Windows.Controls.SelectedItemCollection
+       [0] {System.Data.Linq.SqlClient.ObjectReaderCompiler.Group<string,Demo.View.Plantilla>} object {System.Data.Linq.SqlClient.ObjectReaderCompiler.Group<string,Demo.View.Plantilla>}
+       Raw View        
        IsFixedSize false   bool
        IsReadOnly  false   bool

Так, когда группа является

{System.Data.Linq.SqlClient.ObjectReaderCompiler.Group<string,Demo.View.Plantilla>} object type

Извините, Plantilla = Шаблон, я вывожу его для большего понимания

Ответы [ 2 ]

1 голос
/ 19 февраля 2009

Похоже, вы не работаете с коллекцией во втором цикле.
Может быть, вы хотели

foreach(var group in dlstTemplates.SelectedItems)
{
    foreach(var Template in groupCast.Templates)
    {
        //do stuff...
    }
}

или что-то подобное.

0 голосов
/ 19 февраля 2009
            foreach (var group in dlstPlantillas.SelectedItems)
            {
                IGrouping<string, Plantilla> groupCast = group as System.Linq.IGrouping<string, Plantilla>;
                if (null == groupCast) return;
                foreach (Plantilla item in groupCast)
                {
                    template.codigoestudio = item.codigoestudio;

                }
            }

надежда помогает ... спасибо ZombieSheep за вдохновение!

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