9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
|
|
1 | |
Правильно ли создавать в проекте десятки новых форм?05.04.2018, 20:44. Показов 1044. Ответов 12
Метки нет (Все метки)
Суть какая, есть проект (WinForms / WPF) работающий с БД (через entity framework), в которой этак десяток с лишнем таблиц. В проекте реализован справочник, через который можно редактировать / просматривать те или иные свойства (таблицы), ну и поскольку каждая таблица имеет уникальную структуру, сделать все отображения / редактирования через 1 форму я не понимаю как ( и возможно ли это вообще?), в результате для редактирования каждой таблицы БД, создаю отдельно:
1. Форму которая отображает данные из этой таблицы, в нужном для меня виде. 2. Форму которая позволяет отредактировать выбранные данные. В результате дойдя до таблицы 10-той, заметил что количество форм в проекте уже перевалило за 20, лично для меня это не комфортно. Вопрос - Так и должно быть, и мне стоит привыкать к огромному количеству форм в проектах, или существуют другие варианты решения таких задач?
0
|
05.04.2018, 20:44 | |
Ответы с готовыми решениями:
12
Как создавать дополнительные формы в проекте Как в консольном проекте запретить создавать консоль Отслеживать создание новых папок и создавать статистику Связь 2 форм в проекте |
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
|
|
05.04.2018, 20:50 | 2 |
fidesxfx, Недавно начал писать на java под андроид и там есть Fragment, одна форма и меняется только содержимое. На wpf еще не приходилось такое делать, но там вроде есть Frame
1
|
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
|
|
05.04.2018, 20:56 [ТС] | 3 |
Думал над этим, возможно я не прав, но по моему это мало что изменит, конкретизирую, 2 случая.
1. Мы отображаем данные пользователя. 2. Мы отображаем характеристики товара. Придется на 1 форме, создать два фрейма, и заполнить их нужными для нас полями, потом один скрывать, второй показывать, но если таких случаев будет не 2 а 15, тогда на 1 форме будет 15 фреймов, как на меня та же каша получается что и с 15 формами.
0
|
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
|
|
05.04.2018, 21:04 | 4 |
fidesxfx, Фрейм 1, меняется содержимое его
0
|
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
|
|
05.04.2018, 21:24 [ТС] | 5 |
Возможно я не правильно объяснил.
В одном случае мне нужно например 7 текстовых элемента (TextBox) , и label, а в другом случае только 3 того и того. А еще и кнопки, для реакции на поведения пользователя. В каком не будь другом случае, туда придется всунуть еще и Grid для отображения всей таблицы, выходит что мне нужно предвидеть все нужные элементы, и скрывать ненужные для каждого случая, что тоже не вариант. Либо для каждого случая, создавать все элементы динамически, и программно настраивать их размещение, для соблюдения визуального стандарта, что по моему не очень то и просто, и возможно ли вообще?
0
|
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
|
|
05.04.2018, 21:30 | 6 |
fidesxfx, Под каждый случай создаешь View(UserControl например) и рендеришь его во фрейме
1
|
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
|
|
05.04.2018, 21:52 [ТС] | 7 |
То есть, надо реализовать паттерн MVVM, по факту.
Я правильно понял?
0
|
91 / 85 / 27
Регистрация: 29.10.2016
Сообщений: 928
|
|
05.04.2018, 22:03 | 8 |
fidesxfx, а нельзя просто сделать динамическое заполнение формы? т.е. у тебя 1 форма будет и ты вручную просто пишешь компоненты которые тебе надо. И вот при нажатии на какую то кнопку где тебе надо другая форма просто очищаешь все содержимое которое находится сейчас и создаешь новые компоненты в самом коде и так обратно если надо вернуться на предыдущую форму.
0
|
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
|
|
05.04.2018, 22:09 [ТС] | 9 |
6elka1703, ну наверное можно, но я не представляю даже сколько работы надо делать в таком случае.
Это же работа с БД, выходит надо создать нужное количество элементов, связать их с БД, чтобы выводились нужные значения, отобразить в нужных местах на форме, а для кнопок еще и вставлять функционал, в зависимости от отображенных данных. Но возможно такой подход и будет правильнее.
0
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
05.04.2018, 22:14 | 10 |
Сообщение было отмечено fidesxfx как решение
Решение
ничего ты с этим не сделаешь, будет и 100 и 200 форм, не суть что это Form, Window или UserControl и или еще какая-то фигня
привыкай просто
1
|
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
|
|
05.04.2018, 22:15 | 11 |
Сообщение было отмечено fidesxfx как решение
Решение
fidesxfx, задача элементарная на самом деле. В WinForms для отображения данных есть datagridview, а для редактирования обычно динамически генерируют форму с нужными полями. Индивидуальные формы обычно создают для каких то сильно уникальных наборов данных слишком затратных чтобы впихивать их в динамическую генерацию.
1
|
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
|
|
05.04.2018, 22:19 [ТС] | 12 |
m0nax, freeba, Спасибо.
0
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
05.04.2018, 22:26 | 13 |
Сообщение было отмечено fidesxfx как решение
Решение
генерация разве что в сказках работает, таких добрых и милых сказках, типа AutoGenerateColumns=true и туда такой заливаешь select * from table, хахаха, рельный мир это JOIN по 5-15 таблицам, кастомные заголовки, группировки столбцов в bandle, кастомное форматирование половины столбцов(даты/числа/деньги/статусы), кастомная сортировка по хитрому значению которое не отображается, какие-нибудь ссылки в столбцах или кнопки, какая-нибудь выгрузка в сраный ехель по правой кнопке, подсветка строк или ячеек от левых условий и т.п
генерация даже не рассматривается в принципе, ее как бы нет вообще
2
|
05.04.2018, 22:26 | |
05.04.2018, 22:26 | |
Помогаю со студенческими работами здесь
13
Почему нельзя создавать несколько jquery элементов в MVC проекте? Создание новых форм Как создавать скины для форм? Несколько форм в одном проекте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |