Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление и удаление данных в TreeView, Не отображаются результаты 
V
    Опции темы
shmarov
Дата 19.10.2009, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.6.2007
Где: 1001101 region

Репутация: нет
Всего: 1



Добрый день

Столкнулся со странной ситуацией - при добавлении и удалении данных в дереве не отображаются изменения. В книге Мак-Дональда написано, что данная проблема решается путем использования ObservableCollection<>, однако мне это не помогло. Помогите пожалуйста разобраться с ситуацией.

Исходные данные:
Код

        DataClasses1DataContext _db;

        public Window1()
        {
            ...

            _db = new DataClasses1DataContext();
            ObservableCollection<TProject> _projects = new ObservableCollection<TProject>
                (from p in _db.TProjects
                 where p.Leaf == false & p.NodeReference == null
                 select p);

            treeGroup.ItemsSource = _projects;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
                    TProject _project = new TProject();
                    _project.IDProject = 2;
                    _project.Leaf = false;
                    _project.ProjectEn = "ProjectName";
                    _db.TProjects.InsertOnSubmit(_project);
                    _db.SubmitChanges();
        }


XAML:
Код

        <TreeView Name="treeGroup" Grid.Row="1" Grid.Column="0">
            <TreeView.ItemTemplate>
                <HierarchicalDataTemplate ItemsSource="{Binding Path=TProjects}">
                    <TextBlock Text="{Binding Path=ProjectEn}"></TextBlock>
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>
        </TreeView>


Благодарю.

UPD: да, описания для классов LINQ сгенерированы автоматически в студии.
Код

        public partial class TProject : INotifyPropertyChanging, INotifyPropertyChanged
        {
                private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
                ...
                private EntitySet<TProject> _TProjects;
        }

Хммм, Может быть собака как раз в этом зарыта?


Это сообщение отредактировал(а) shmarov - 19.10.2009, 17:10
PM MAIL   Вверх
math64
Дата 20.10.2009, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 2
Всего: 72



А как вносятся изменеия в базу? Если прямо в _db, то ObservableCollection про эти изменения не знает - она сохранила данные которые выдал LINQ, насколько я понимаю, и они больше не изменяются. Данные нужно добавлять/удалять через ObservableCollection.
PM   Вверх
shmarov
Дата 20.10.2009, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.6.2007
Где: 1001101 region

Репутация: нет
Всего: 1



math64, если их добавлять через ObservableCollection, то ситуация будет диаметрально противоположной - в дереве будут изменения, в базе нет.
Оказалось, что проблема была действительно в описании linq-классов. Разобрав пример получил нужный мне результат.
PM MAIL   Вверх
SoCodeMonkey
Дата 22.9.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



Ссылка за год приказала долго жить ( Может, кто подскажет решение ? 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0622 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.