Поиск:

Ответ в темуСоздание новой темы Создание опроса
> cxGrid (DevExpress) показывает старое значение 
:(
    Опции темы
Akella
Дата 1.9.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



есть событие OnEditValueChanged


Изменяю значение ячейки, жмакаю Enter - в ShowMessage вываливается старое значение ячейки?
Как, в каком событии получить новое значение ячейки?
Код

procedure TfmNewArrival.dbgArrivalDetEditValueChanged(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
begin
 if AItem.name = 'dbgArrivalDetPRICE_WO_NDS' then begin
   ShowMessage(dbgArrivalDetPRICE_WO_NDS.EditValue);
 end;
end;

 smile  smile 

дело в том, что нужно реализовать пересчет 2-х других полей на основе одного редактируемого.

Это сообщение отредактировал(а) Akella - 1.9.2006, 14:50
PM MAIL   Вверх
Fedia
Дата 2.9.2006, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 3
Всего: 13



Цитата(Akella @  1.9.2006,  14:48 Найти цитируемый пост)
дело в том, что нужно реализовать пересчет 2-х других полей на основе одного редактируемого.

На cxGrid отображается таблица БД ? Если да, то какой компонент доступа к данным используешь ?


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Fedia
Дата 2.9.2006, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 3
Всего: 13



Таки нашел ! Для получения доступа к новому значению ячейки можно использовать такой способ:
Код

procedure TForm1.cxGrid1DBTableView1EditValueChanged(
  Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
begin
  if AItem.name = 'dbgArrivalDetPRICE_WO_NDS' then
  ShowMessage(AItem.GridView.Controller.EditingController.Edit.EditValue);
end;

Правда если требуется производить расчет значений других полей на основе редактируемого и используется компонент доступа к таблице БД, то расчеты лучше производить на событии OnCalcFields этого компонента.


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Akella
Дата 4.9.2006, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Fedia @  2.9.2006,  08:46 Найти цитируемый пост)
ShowMessage(AItem.GridView.Controller.EditingController.Edit.EditValue);

вываливается 2 раза, первый раз со старым значением, а второй с новымsmile 

Это сообщение отредактировал(а) Akella - 4.9.2006, 08:19
PM MAIL   Вверх
Fedia
Дата 4.9.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 3
Всего: 13



Цитата(Akella @  4.9.2006,  08:14 Найти цитируемый пост)
вываливается 2 раза, первый раз со старым значением, а второй с новым 

У меня один раз. Возможно у тебя изменения происходят два раза. Первый раз вручную, а второй раз в одном из обработчиков.
Довольно много информации по DevExpress можно найти здесь.


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Akella
Дата 4.9.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Код
procedure TfmNewArrival.dbgArrivalDetEditValueChanged(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
begin
 if AItem.name = 'dbgArrivalDetPRICE_WO_NDS' then begin
   dbgArrivalDetPRICE_W_VAT.EditValue := dbgArrivalDetPRICE_WO_NDS.GridView.Controller.EditingController.Edit.EditValue * 1.20;
   dbgArrivalDetVAT.EditValue         := dbgArrivalDetPRICE_W_VAT.EditValue -
                                         dbgArrivalDetPRICE_WO_NDS.GridView.Controller.EditingController.Edit.EditValue;
 end;
end;


вот, что получилось - работает нормально, спасибище
PM MAIL   Вверх
Fedia
Дата 4.9.2006, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 3
Всего: 13



Akella, 
Удачи тебе в дальнейшей работе smile


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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