k94kwk1
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Подробнее... Здравствуйте! Проблема следующая. Допустим у меня есть cxGrid с двумя столбцами и связью с базой данных. В первой колонке при помощи cxEditRepository1Date пользователь может выбрать какую-нибудь дату. А во второй отображается соответствующее этой дате значение, которое сразу же заносится в Базу данных. Скажем, если пользователь выбрал дату, которая меньше сегодняшнего дня, то во второй колонке отображается «ДА», в иначе НЕТ. Причем Важно, чтобы данные из второй колонки попадали в соответствующее поле БД. Я написал такой код на обновление второго столбца: Код: Procedure ReSetCellStatus(Arow:integer); Begin frmMain.cxGrid1DBTableView1.BeginUpdate; If Frmmain.cxGrid1DBTableView1.ViewData.Rows[Arow].DisplayTexts[1]<12.03.12' then Frmmain.cxGrid1DBTableView1.DataController.Values[Arow,2]:= ‘ДА Else Frmmain.cxGrid1DBTableView1.DataController.Values[Arow,2]:= Нет'; frmMain.cxGrid1DBTableView1.endUpdate; End; | Проблема заключается в том, что я не понимаю на какое событие эту процедуру необходимо подцепить? Я пробовал в grid-е события: OnEditChanged, OnEditValueChanged, и в cxEditRepository1Date: OnChange, OnEditValueChanged – процедура выполняется, но почему-то та дата, которую выбрал пользователь cxEditRepository1Date не заносится в таблицу и не сохраняется. Она просто сохраняет свой старый вид. Видимо это связано с подключением моего редактирования другой ячейки в момент когда еще не закончилось исходное редактирование. Не подскажите как это организовать? [/more] | Всего записей: 28 | Зарегистр. 11-03-2012 | Отправлено: 20:42 12-03-2012 | Исправлено: k94kwk1, 20:43 12-03-2012 |
|