Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.05.2017, 14:12
|
|||
|---|---|---|---|
|
|||
Работа в одной форме с DevGrid и разными источниками List<T> |
|||
|
#18+
День добрый! Есть форма с расположены на ней Gridом. Как правильнее организовать работу с одной формой и несколькими источниками List. Например, пользователь может работать со справочником продукции List или контрагентами List. Соответственно при добавлении нового продукта открывается форма нового продукта. Пока организовал банально в виде Код: c# 1. 2. 3. 4. 5. 6. 7. 8. ListMode - обычный enum ListMode {Production, Kontragent} private ListMode _currListMode; инициализируется как ListMode.Production при создании формы, переключается Код: c# 1. 2. 3. 4. 5. 6. а метод соответственно вызывает создание нового элемента продукции и показ формы продукции, с прибинденными полями класса Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Вопрос в том можно ли как нить избежать дублирование обработчиков (новый элемент, редактирование и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2017, 16:39
|
|||
|---|---|---|---|
|
|||
Работа в одной форме с DevGrid и разными источниками List<T> |
|||
|
#18+
автор представте себя на нашем месте и прочитайте сообщения, лично я не понял сути проблемы, от куда код из 1 отрывка? из события ButtonClick ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2017, 06:00
|
|||
|---|---|---|---|
|
|||
Работа в одной форме с DevGrid и разными источниками List<T> |
|||
|
#18+
В данном случае да. Т.е пользователь щелкнул по кнопке Add в режиме ListMode.Production - открылась форма продукции, иначе - контрагентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2017, 07:17
|
|||
|---|---|---|---|
|
|||
Работа в одной форме с DevGrid и разными источниками List<T> |
|||
|
#18+
В случае с формой- понятно Код: c# 1. 2. 3. 4. 5. 6. а вот как правильно в форму передавать еще произвольный класс? Т.е. для формы контрагентов передать класс Kontragent? без кучи свитчей и ифов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2017, 09:09
|
|||
|---|---|---|---|
Работа в одной форме с DevGrid и разными источниками List<T> |
|||
|
#18+
Crazy_Wolf, Сделать "родительский" класс, от которого отнаследовать и продукцию, и контрагентов, и прочих. Не кошерно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2017, 09:21
|
|||
|---|---|---|---|
|
|||
Работа в одной форме с DevGrid и разными источниками List<T> |
|||
|
#18+
Ну в принципе можно, как раз сейчас этот вариант пробую. Только там из общий полей только ИД и наименование :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2017, 09:34
|
|||
|---|---|---|---|
Работа в одной форме с DevGrid и разными источниками List<T> |
|||
|
#18+
Crazy_Wolf, Я так понял, что речь идёт о "справочниках". Значит как минимум у них должны быть методы "Добавить", "Изменить", "Удалить". Объявить их в классе "родителя" как переопределяемые методы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2017, 11:16
|
|||
|---|---|---|---|
|
|||
Работа в одной форме с DevGrid и разными источниками List<T> |
|||
|
#18+
Форма вообще ничего не должна знать о специфической логике данных, с которыми работает. Как выше сказали, об этом должен знать словарь. Вынести его контракт в общий интерфейс/базовый класс, параметризовать форму интерфейсом, у интерфейса дергать нужные методы. Реализация интерфейса внутри будет делать то, что нужно. P.S. WPF на эту тему хорошо мозги вправляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=20&mobile=1&tid=1399900]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
129ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 450ms |

| 0 / 0 |
