Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 27 апр 2024, 09:55

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 04 июл 2022, 17:08 
Не в сети

Зарегистрирован: 18 июн 2014, 12:47
Сообщений: 10
Здравствуйте, сейчас у меня таблица имеет вид:
Название товара | Цена | Кол-во | Ед.Изм. | Сумма|
Крышка | 15 р. | 2 | шт. | 30 р. |

как реализовать такое?:
Название товара | Цена | Кол-во | Сумма |
Крышка | 15 р. | 2 шт. | 30 р. |

причем когда редактируешь цену, символ рубля исчезает, и появляется когда нажмешь ентер, как можно такое же реализовать с колонкой "Кол-во"? При редактировании название единицы измерения исчезает и появляется после окончания редактирования.
Наименование единицы измерения берется из таблицы по материалам.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 июл 2022, 00:29 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

Цитата:
когда редактируешь цену, символ рубля исчезает,

Задайте свойство Column.DisplayFormat = '#.## "р."'
Column.DisplayFormat работает только в режиме отображения ячейки.
В режиме редактирования он не используется.

Цитата:
При редактировании название единицы измерения исчезает и появляется после окончания редактирования.
Наименование единицы измерения берется из таблицы по материалам.

В вашем примере поле ЕИ уже присутствует в той-же таблице.

Используйте событие Column.GetCellParams чтобы задать кастомный текст ячейки в режиме отображения ячейки.

Код:
procedure TForm1.DBGridEh1Columns5GetCellParams(Sender: TObject;
  EditMode: Boolean; Params: TColCellParamsEh);
begin
  if not EditMode then
  begin
    Params.Text := MemTableEh1.FieldByName('Kolvo').AsString + ' ' +
                   MemTableEh1.FieldByName('EdIzm').AsString;
  end;
end;


Результат получится примерно следующий:


Вложения:
sshot-248.png
sshot-248.png [ 12.09 KiB | Просмотров: 755 ]

_________________
Best regards
EhLib support Team
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 июл 2022, 16:21 
Не в сети

Зарегистрирован: 18 июн 2014, 12:47
Сообщений: 10
EhLibSupport писал(а):
Добрый день.

Код:
procedure TForm1.DBGridEh1Columns5GetCellParams(Sender: TObject;
  EditMode: Boolean; Params: TColCellParamsEh);
begin
  if not EditMode then
  begin
    Params.Text := MemTableEh1.FieldByName('Kolvo').AsString + ' ' +
                   MemTableEh1.FieldByName('EdIzm').AsString;
  end;
end;


Результат получится примерно следующий:


Да, то что нужно. Благодарю


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB