Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в ячейке грида выводить текст, если значение поля [D6]


DROWSY ©   (2011-01-11 07:38:00) 

не определено (null).
Например, если поле таблицы типа integer,
то нужно, чтобы
если значение null, выводился текст 'нет значения(null)'

и оч. желательно использовать
для ячейки таблицы для этого поля PickList и KeyList

  KeyList.Add(1);
  PickList('один');
  KeyList.Add(1);
  PickList('два');

  KeyList.Add( ? );  <- что здесь нужно?
  PickList('нет значения(null)');


DROWSY   (2011-01-12 04:28:00) [1]

В TDBGridEH из EhLib60

Если ячейка грида для поля с Key/PickList,
то:
вместо onGetText -onSetText у поля нужно использовать событие столбца грида:

type
   TColCellUpdateDataEventEh = procedure(Sender: TObject; var Text: String; var Value: Variant; var UseText: Boolean; var Handled: Boolean) of object;

property OnUpdateData: TColCellUpdateDataEventEh;

Description
Write an OnUpdateData event handler to take specific action when grid is going to write data from InplaceEditor in DataSet field. You can change text or value. UseText defines what parameter is used for writing: Text or Value. You may themselves write data to the field and set Handled in True.

плюс есть полезное свойство столбца:

Specifies the index of PickList text or ImageList bitmap that will be shown if field value do not contain in KeyList.

property  NotInKeyListIndex: Integer;

Description
Set NotInKeyListIndex to index of text from PickList or bitmap from ImageList that will be shown if field value do not contain in KeyList (for instance you can set index for Null field value).

P.S.
sniknik, спасибо за подсказку направления раскопок.


DROWSY   (2011-01-11 17:21:00) [2]

TDBGridEH использую из EhLib60


DROWSY   (2011-01-11 16:52:00) [3]

я добавлял.
Нужно с помощью Key/PickList - ов иметь возможность обнилить значение поля.


sniknik   (2011-01-11 16:38:00) [4]

ну это тебе к тем кто KeyList в твой компонент добавлял.


DROWSY   (2011-01-11 16:05:00) [5]

Почему-то:
Если ячейка грида для поля без Key/PickList,
то onGet/onSetText, onValidate у поля вызываются.
Если ячейка грида для поля с Key/PickList,
то onGet/onSetText у поля не вызываются. Вызывается только onValidate.


sniknik   (2011-01-11 07:54:00) [6]

onGet/onSetText у поля.

> <- что здесь нужно?
да что угодно, хоть "валенок", только соответственно интерпретируй значение в вышеуказанных событиях.


Наверх

Титульная страница Поиск, карта сайта Написать письмо