powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxVerticalGrid значение строки не обновляется
5 сообщений из 5, страница 1 из 1
cxVerticalGrid значение строки не обновляется
    #38838897
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, подскажите.

Имеется cxVerticalGrid, в строку есть поле rowAddress типа ButtonEdit.

Имеется код на данное поле при щелчке на кнопку:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
procedure TEditGridRecordForm.rowAddress111EditPropertiesButtonClick
  (Sender: TObject; AButtonIndex: Integer);
begin
  with TEditAddressForm.Create(Self) do
    try
      if ShowModal = mrOK then
      begin
        rowAddress.Properties.Value := Address;
      end;
    finally
      Free;
    end;
end;



Соответственно в поле Address другой формы заносится полный адрес, но в поле rowAddress значение появляется только если переместить курсор на другое поле. Как в данной ситуации быть ?
...
Рейтинг: 0 / 0
cxVerticalGrid значение строки не обновляется
    #38840072
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй
Код: pascal
1.
2.
rowAddress.Properties.Value := Address;
cxVerticalGrid1.HideEdit;
...
Рейтинг: 0 / 0
cxVerticalGrid значение строки не обновляется
    #38840106
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnetРебята, подскажите.

Имеется cxVerticalGrid, в строку есть поле rowAddress типа ButtonEdit.

Имеется код на данное поле при щелчке на кнопку:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
procedure TEditGridRecordForm.rowAddress111EditPropertiesButtonClick
  (Sender: TObject; AButtonIndex: Integer);
begin
  with TEditAddressForm.Create(Self) do
    try
      if ShowModal = mrOK then
      begin
        rowAddress.Properties.Value := Address;
      end;
    finally
      Free;
    end;
end;



Соответственно в поле Address другой формы заносится полный адрес, но в поле rowAddress значение появляется только если переместить курсор на другое поле. Как в данной ситуации быть ?
В OnCloseQuery для форм, редактирующих запись датасета dtMain, у меня такой код:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
procedure T***EditorForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);

begin
  inherited;

  if ModalResult = mrOk then
  begin
    if not btnOk.Focused then
      // Перемещаем фокус, чтобы знать зафиксировать
      SetFocusIfPossible(btnOk); // Фиксация изменений

    if (dtMain.State = dsInsert)
      or ((dtMain.State = dsEdit)
      and (dtMain.Modified or какие-то_еще_условия)) then
      PostData()
    else
      dtMain.Cancel
  end
  else
    dtMain.Cancel;

end;


где SetFocusIfPossible() -

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure SetFocusIfPossible(aControl: TWinControl);
var
  fCF: TCustomForm;
begin
  fCF := GetParentForm(aControl);
  if Assigned(fCF) and fCF.Visible and aControl.CanFocus then
    aControl.SetFocus;
end;
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
cxVerticalGrid значение строки не обновляется
    #39986394
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема с чтением значения строки во время редактирования вертикальной сетки.

Есть 2 строки.
Цена и Цена в валюте.
Пользователь вводит значение в строку Цена , а значение строки Цена в валюте должно автоматически быть рассчитано и подставлено.

Код: pascal
1.
2.
3.
4.
5.
6.
procedure TfmClientAdd.rowPriceEditPropertiesEditValueChanged(Sender: TObject);
begin
  vgClientsAdd.HideEdit;
  rowPRICE_CURRENCY.Properties.Value := GetPriceCurrency(rowPRICE.Properties.Value);
  vgClientsAdd.HideEdit;
end;



ввожу, нажимаю Enter - ничего не происходит
но, в отладчике видно, что событие срабатывает и оказалось, что rowPRICE.Properties.Value пустое (null).

vgClientsAdd.HideEdit не помогает
у rowPRICE.EditProperties.ImmediatePost := True

что ещё не так?

P.S. Попробовал вводить несколько значений и получилось так, что в событии ValueChanged старое значение, а не то, которое ввел пользователь.
...
Рейтинг: 0 / 0
cxVerticalGrid значение строки не обновляется
    #39986448
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел решение

Код: pascal
1.
2.
3.
4.
5.
procedure TfmClientAdd.rowPriceEditPropertiesEditValueChanged(Sender: TObject);
begin
  rowPRICE_CURRENCY.Properties.Value := GetPriceCurrency(TcxCustomCalcEdit(sender).EditValue);
// или EditingValue
end;
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxVerticalGrid значение строки не обновляется
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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