Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Вычисляемое поле / 6 сообщений из 6, страница 1 из 1
21.11.2006, 13:02
    #34143463
PFOcChKen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле
Здравствуйте, уважаемые форумчане.

Есть такая проблема: база на Access, клиент на VS2005. От базы приходит допустим таблица дат - дата1, дата2, значение. Как сделать вычисляемое поле, т.е. добавить к этой табличке ещё одно поле? Поискал по форуму нашёл про Expression, но здесь нельзя добавить свою функцию, в которой происходит достаточно сложный расчёт. Заполнять таблицу вручеую - неудобно как-то. Почитал про DataTable.ColumnChanged, но так и не понял, будет ли это поле расчитываться при старте. Есть ли стандартные подходы к решению подобных задач? Объясните пжлст как это работает.

Заранее спасибо за все ответы и предложения.
...
Рейтинг: 0 / 0
22.11.2006, 10:47
    #34145881
Ramin Hashimzade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле
покажы какая там математическая функция будет?

----
www.hramin.jino-net.ru
...
Рейтинг: 0 / 0
22.11.2006, 12:59
    #34146490
PFOcChKen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле
Функция расчёта стажа работы и в зависимости о этого надбавки к зарплате - приходит дата трудоустройства и текущая з/п, сравинвается текущая дата с датой трудоустройства в зависимости от разницы: стаж 3, 6, 9 лет... к з/п прибавляется надбавка - з/п*0,1; з/п*0,2; з/п*0,3;... Пока функция не очень сложная, но сюда в будущем возможно будут добавляться ещё какие-то расчёты...

Спасибо за советы и предложения.
...
Рейтинг: 0 / 0
22.11.2006, 13:21
    #34146580
Ramin Hashimzade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле
авторФункция расчёта стажа работы и в зависимости о этого надбавки к зарплате - приходит дата трудоустройства и текущая з/п, сравинвается текущая дата с датой трудоустройства в зависимости от разницы: стаж 3, 6, 9 лет... к з/п прибавляется надбавка - з/п*0,1; з/п*0,2; з/п*0,3;... Пока функция не очень сложная, но сюда в будущем возможно будут добавляться ещё какие-то расчёты...
и ты все этона ехпрессион хочеш делать? :)

----
www.hramin.jino-net.ru
...
Рейтинг: 0 / 0
22.11.2006, 13:35
    #34146627
PFOcChKen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле
Raminи ты все этона ехпрессион хочеш делать? :)

Мне необязательно на ехпрессион. Тут задача, что это вычисляемый столбец. Я бы всё это вычислял в своей функции, но как это потом воткнуть в грид? Чтобы оно обновлялось автоматически и расчитывалось при запуске. Пока один вариант - вешать это на DataTable.ColumnChanged, а при первом запуске обходить таблицу и генерить это событие ручками, но это как-то некрасиво...
...
Рейтинг: 0 / 0
22.11.2006, 18:48
    #34148085
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле
PFOcChKen
Пока функция не очень сложная, но сюда в будущем возможно будут добавляться ещё какие-то расчёты...

классически, если речь идет об изменяющихся алгоритмах. рассматривают возможность применения GoF шаблона Strategy. Но тогда от модели представления данных с использованием DataTable придется отказаться в сторону пользовательских классов.

как вариант, думаю Вам нужно пересмотреть логику работы приложения. так как действительно пытаться делать реализацию алгоритмов в expression based columns не хорошо.

PFOcChKen
Мне необязательно на ехпрессион.

тогда см. /topic/25156#806312
конечно это не красиво, чтобы было красиво - strategy.


Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Вычисляемое поле / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]