![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.12.2014
Сообщений: 66
|
![]()
Имею две формы. На первой "MainForm" расположил TabControl в каждой вкладке TabControl перетащил из DataSources по таблице DataGridView.
Вторую форму "BucketForm" создаю по второму Ленискому завету Код:
Код:
Код:
Последний раз редактировалось Таксист; 06.08.2015 в 23:57. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
![]()
Напрямую через не визуальные классы не пробовали?
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 27.01.2014
Сообщений: 115
|
![]()
эх
![]() Но гугл говорит о следующем: У ТС данные из БД загружаются только при открытии формы дело в том, что в базу у тебя данные попадают напрямую, а не через источник. В твоём случае есть 2 варианта решения проблемы: 1) Сразу после добавления производить повторную загрузку данных 2) Работать с источником данных, а все сохранения проводить не прямым запросом, а адаптером (только предварительно настроить запросы обновления) |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 11.12.2014
Сообщений: 66
|
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 11.12.2014
Сообщений: 66
|
![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 27.01.2014
Сообщений: 115
|
![]()
Потому, что взаимосвязь между данными и формой их редактирования прокидывается очень просто.
Есть некоторый класс, в котором хранятся данные, чтобы датагрид увидел изменения, в этом классе реализуется интерфейс INotifyPropertyChanged Код:
Затем, создается обзорная коллекция, возвращающая соответствующие объекты коллекции: Код:
На форме вы выкидываете датапровайдер: Код:
как вы могли заметить, GetCategories - статический, соответственно при неинициализированной переменной _categories будет ошибка. Переменная инициализируется при создании экземпляра класса, а вот данные можно загружать в любой момент, после инициализации ошибок при отсутствии данных не будет - будет возвращена пустая коллекция. Как итог код выше гарантирует в случае инициализации класса Data и наличия объектов в хранилище, присутствие этих объектов в ObjectDataProvider на форме или в контроле. Остается привязать их: Код:
Если, вдруг, мне нужно принудительно обновить данные, я обращаюсь к ObjectDataProvider Код:
Кода много, но этот код гарантирует то, что данные изменяемые в контроле будут протянуты в объектную модель и данные добавленные в объектную модель попадут в контрол. Т.е. я нигде не добавляю руками ничего в коллекцию Items контрола. Но всё, что будет изменено в контроле будет изменено и в данных. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 11.12.2014
Сообщений: 66
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обновление DataGridView | Fresh_MaN | Windows Forms | 4 | 04.04.2014 14:03 |
Нужно ли обновление формы после изменении ее размера? | dim3740 | C# (си шарп) | 11 | 18.03.2014 20:32 |
Обновление поля формы после создания новой записи создания | romanln2012 | Microsoft Office Access | 2 | 09.08.2012 14:12 |
обновление формы после выполнения скрипта | Tanzor69 | PHP | 2 | 05.02.2012 00:22 |
Обновление данных подчиненной формы из другой подчиненной формы | smoky | Microsoft Office Access | 2 | 15.08.2009 15:28 |