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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> пересчет полей на форме, как бы попроще... 
:(
    Опции темы
jonie
Дата 5.5.2008, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



возникла определенная потребность в пересчете данных на сложных формах. и очень бы не хотелось писать кучу кода вроде onValueChanged(...)
может быть есть какие-то типовые решения ?
подумывал относительно написания extender-а, куда бы вводил формы пересчета+"биндинг" полей ввода на переменные, учавствующие в расчете....
но может есть какие более изящные решения ?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
mr.DUDA
Дата 6.5.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Вариант - вынести весь код пересчёта в один общий метод и вызывать из обработчика form.Validating или типа того.


--------------------
user posted image
PM MAIL WWW   Вверх
jonie
Дата 6.5.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



хм... это будет очень очень геморойно.
надобы че-нить типа maple встраивать) расчеты довольно сложны...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
mr.DUDA
Дата 6.5.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Хмм... Ну тогда завести что-ли базовый класс для контролов типа текстбокса, в котором добавить поле с выражением, а парсить ручками и брать значения через рефлекшн (или через отдельный слой объектов, где будут только значения и связи).


--------------------
user posted image
PM MAIL WWW   Вверх
jonie
Дата 6.5.2008, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



а в чем проблемы будут в extender-ом (типа errorprovider-а).
ему даем field - наименование поля откуда брать данные, формула : как считать, псевдоним этого контрола в формулах.

итого имеется : куча формул с привязкой на контролы(имя переменной) и значения этих контролов (значение переменной в формуле)... ну можно рассмотреть вариант с использованием Python, например, (iron python). там пропихивать в код питона можно ссылки(?) на .net типы....

тока я пока слабо представляю как ковырять это все в экстендере..... надо подробнее посмотреть как они реализуются). ну а там через этот extender расчет вести (он знает(?) о всех переменных в выражениях)....


вопрос имеет ли extender поятие к чему он привязан... (надо читать как реализуются)...


мнеб не хотелось наследоваться от объектов (много разнообразных элементов)...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
mr.DUDA
Дата 7.5.2008, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Вариант с экстендером интересный. Насколько я понимаю, некоторые компоненты (тултип например) так работают. Если получится, расскажи как всё делал.  smile 


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




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


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

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