X11
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вопрос по TcxDBTreeList. Нужно сделать по нажатию на Enter сохранение данных, т.е. DataController.Post(true) В cxGridDBTableView есть событие OnEditKeyDown, в котором успешно можно обработать нажатие на Enter во время редактирования ячейки, в у TcxDBTreeList такого события нет. А OnKeyDown не реагирует на Enter во время редактирования ячейки. Как решить проблему? Добавлено: ставлю бряку, но она не работает вообще Код: procedure TfmAddAD.treeRubKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin with TcxDBTreeList(sender) do <- здесь бряка if TcxDBTreeList(sender).DataController.IsEditing then TcxDBTreeList(sender).DataController.Post(true); end; | Добавлено: добавил if key = vk_return then Код: if key = vk_return then with TcxDBTreeList(sender) do if TcxDBTreeList(sender).DataController.IsEditing then TcxDBTreeList(sender).DataController.Post(true); | теперь событие работает, но есть другая проблема if TcxDBTreeList(sender).DataController.IsEditing возвращает False хотя DataController в редактировании и это показывает курсор в Indicator`e Добавлено: Проблему решил через DataSet Код: procedure TfmAddAD.treeRubKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key = vk_return then with TcxDBTreeList(sender) do if TcxDBTreeList(sender).DataController.DataSet.State in [dsEdit, dsInsert] then TcxDBTreeList(sender).DataController.Post(true); end; | Добавлено: Вот какие неудобство есть при редактировании ячеек в TcxGrid, TcxDBTreeList и в подобных компонентах. Когда нажимаешь клавишу Insert для добавления новой записи, то запись добавляется, но курсор в ячейку не попадает, т.е. после Insert нужно нажать ещё и F2. Да, можно начать набирать текст и проблемы видно не будет, но если нужно что-то вставить в ячейку из буфера обмена, то приходится нажимать для начала F2. Что посоветуете?
---------- /не мы такие, жизнь такая/ |
| Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 20:52 11-04-2012 | Исправлено: X11, 12:04 03-05-2012 |
|