Graach
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Скорее всего я не первая, кто встречается с этим приколом, но вроде не нашла ответа. Я динамически строю TcxdbVerticalGrid, вставляю в него строки, у которых задаю соответствующее свойство Property. В данном случае это тип TcxButtonEditProperties. Потом задаю обработчик нажатия на кнопку CxButtonEditClickEvent; в котором надо каким-то образом определить на какой именно строке грида была нажата кнопка. Сейчас это выглядит так: Код: procedure TBaseGridBuilder.CxButtonEditClickEvent(Sender: TObject; AButtonIndex: integer); var i:integer; begin for i := 0 to FButtonList.Count - 1 do if TcxVerticalGrid(Grid).FocusedRow = TcxVerticalGrid(grid).RowByCaption(TButtons(FButtonList[i]).FButtonFieldName) then begin TcxCustomEdit(Sender).editvalue := 'Hello World'; exit; end; end; | , где FButtonList - спискок в котором хранятся данные о всех кнопках которые есть в гриде, например имена полей, к которым относятся строки грида (FButtonFieldName). Проблема в том, что после выполнения такого кода, значение 'Hello World' появляется в соответствующей строке, однако если перейти, например, на другую строку грида, то оно пропадает. Причем когда не было строки if TcxVerticalGrid(Grid).FocusedRow = TcxVerticalGrid(grid).RowByCaption(TButtons(FButtonList[i]).FButtonFieldName), все было отлично - значение оставалось на нужном месте и сохранялось при посте в датасет (работало естественно при единственной строке с кнопкой). | Всего записей: 111 | Зарегистр. 20-10-2007 | Отправлено: 18:32 29-06-2011 | Исправлено: Graach, 18:42 29-06-2011 |
|