powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не сразу присваивается значение в cxEditorRow
23 сообщений из 23, страница 1 из 1
Не сразу присваивается значение в cxEditorRow
    #35253062
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть VerticalGrid. В ней есть 2 строки (cxEditorRow), у которых EditProperties := PopupEdit.
Значение свойства Value заносим из ноды дерева. Да, вобщем-то, не обязательно из дерева, можно как угодно.
Проблема в том, что Value получает значение, но визуально оно отображается только когда строка грида теряет фокус, а не по нажатию кнопки.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 procedure  TfmAreas.btnSelTypeValueClick(Sender: TObject);
 Var 
  PopupWnd: TcxPopupEditPopupWindow;
 begin 
 //присваиваем значение 
  vgAreasID_TYPE.Properties.Value := dbTreeType.DataController.Values[dbTreeType.DataController.FocusedRecordIndex, dbTreeType.FocusedColumn.ItemIndex];

 //прячем панель с деревом и кнопками 
  PopupWnd := TcxPopupEditPopupWindow(cxTabControl1.Parent);
  PopupWnd.ClosePopup();
 end ;
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #35253296
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В EditProperties есть свойство ImmediatePost. Попробуйте его выставить в TRUE.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #35253381
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так и сделано было сразу же
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #35253389
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати у PopupEdit`а нет такого свойства, а вообще я ImmediatePost встагда выставляю в TRUE.
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #35253490
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой конкретно VerticalGrid используется (DB, Virtual...)?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #35253564
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения за то, что сразу не написАл: TcxVerticalGrid v 3.33 (DevExpress feb2008)
Правильнее, наверное, будет ExpressVerticalGrid v 3.33
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #35253633
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
procedure TfmAreas.btnSelTypeValueClick(Sender: TObject); 
Var 
  PopupWnd: TcxPopupEditPopupWindow; 
begin 
//присваиваем значение 
  vgAreasID_TYPE.Properties.Value := dbTreeType.DataController.Values[dbTreeType.DataController.FocusedRecordIndex,
dbTreeType.FocusedColumn.ItemIndex]; 


//прячем панель с деревом и кнопками 
  PopupWnd := TcxPopupEditPopupWindow(cxTabControl1.Parent); 
  PopupWnd.ClosePopup(); 

  // выходим из режима редактирования
  vgAreas.HideEdit();
end; 

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #35253731
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Супер! Спасибо огромное!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Не сразу присваивается значение в cxEditorRow
    #36400577
Mifich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аналогичная проблема cxVerticalGrid 3.45 (не DB)

В событии вертикал грида OnEditValueChanged нужно получить введеное значение поля с EditProperties - TextEdit

делаю так:

Код: plaintext
AStr := vgStr.Properties.Value;

однако vgStr.Properties.Value выдает не текущее (только что введенное), а предыдущее значение.

зы vg.HideEdit не помогает
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36400599
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может ImmediatePost?
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36400658
Mifich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

к тожалению у cxEditorRow нет такого свойства
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36400664
Mifich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправлюсь... у cxEditorRow c EditProperties TextEdit свойства ImmediatePost - нет
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36400701
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 procedure  TForm1.VG1EditValueChanged(Sender: TObject;
  ARowProperties: TcxCustomEditorRowProperties);
 var 
  Edit: TcxCustomEdit;
  NewValue: Variant;
 begin 
  Edit := TcxCustomVerticalGrid(Sender).InplaceEditor;
  NewValue := Edit.EditValue;

...
 end ;
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36400705
Mifich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

щас опробую, но как то оно через одно место получается...
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36400768
Mifich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mifich,

а если без
Код: plaintext
TcxCustomVerticalGrid(Sender).InplaceEditor;
???
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36400855
Mifich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Дело в том что нужно добраться до текущего значения в поле без InplaceEditor
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36401601
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что событие editvaluechanged предназначено для получения значения после редактирования, т.е. вводим значение, нажимаем enter и только тогда срабатывает событие.

Скорее всего, что нужно воспользоваться другим событием, например, OnEditing, которое срабатывает в момент редактирования.
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36401603
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так у меня получилось получить значение редактируемой ячейки после нажатия Enter

Код: plaintext
1.
2.
3.
4.
5.
 procedure  TForm3.cxVerticalGrid1EditValueChanged(Sender: TObject;
  ARowProperties: TcxCustomEditorRowProperties);
 begin 
 caption := cxVerticalGrid1.InplaceEditor.EditingValue;
 end ;
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36401604
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MifichX11,

Дело в том что нужно добраться до текущего значения в поле без InplaceEditor

Почему?
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #36401888
Mifich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

В вертикал гриде у меня поля:
почтовый индекс, регион, район, город, нас.пункт, дом, корпус, квартира

Задача: получить строку с полным адресом, при этом ее нужно "пересобирать" после редактирования каждого из указанных полей

Вариант решения которое хотелось реализовать:
Повесить в событии OnEditValueChanged вертикал грида код
Код: plaintext
полный адрес = VGиндекс + VGрегион + VGрайон + ... + VGквартира
не прокатывает из-за невозможности !одновременно! получить текущее значение полей VGиндекс и VGквартира...

Вот и пришлось объявить строковые переменные Аиндекс и Аквартира, которые заполняются при EditValueChanged поля указанным тобой способом (inplaceeditor), а потом
Код: plaintext
полный адрес = Аиндекс +  ... + Аквартира

Вообще странно, казалось бы самая элементарная задача - получить текущее значение в поле вертикалгрида, а как решить без вспомогательных переменных - не понятно. Может я чегото не догоняю?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Не сразу присваивается значение в cxEditorRow
    #37480158
Alan008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OnEditValueChanged какое-то не очень хорошее событие. Я вместо него стал использовать событие DataController.OnAfterPost
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Не сразу присваивается значение в cxEditorRow
    #40012834
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
баг, наверное...

Событие OnEditValueChanged срабатывает, но cxEditorRow1.Properties.Value старое значение.
Хотя immediatePost включено (spinEdit).

Но если менять значение не с клавиатуры, а с помощью spin-кнопок, то событие срабатывает и значение в cxEditorRow1.Properties.Value - новое.

И cxVerticalGrid1.HideEdit не помогает
...
Рейтинг: 0 / 0
Не сразу присваивается значение в cxEditorRow
    #40012842
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приходится извращаться
Код: pascal
1.
2.
3.
4.
5.
procedure Tfm1.row1EditPropertiesEditValueChanged(Sender: TObject);
var
  NewValue: Variant;
begin
  NewValue := TcxSpinEdit(Sender).EditingValue;
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не сразу присваивается значение в cxEditorRow
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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