![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дополнительное поле [D6, D7, Paradox]
NoName © (2004-05-10 02:18:00)Доброй ночи всем!
Помогите реализовать следующее: У меня в таблице храниться
состояние 1 или 0. Я хочу в гриде в зависимости от этого наачения выводить запись Включено или Выключено.
Как это сделать?
Буду благодарен за любую идею.
Кщд (2004-05-17 13:15:00) [1]Sergej (10.05.04 12:06) [10]
прошу прощения, но какому классу принадлежит св-во KeyList?
Курдль (2004-05-10 12:38:00) [2]- Гоги! Помоги! Вано на дерево влез, а спуститься не может!
- Тащи веревку, обвязывай его и тяни!
...
- Гоги! Вано убился!
- Странно... На прошлой неделе Резо таким же способомнормально из колодца достали...
Sergej (2004-05-10 12:31:00) [3]Курдль © (10.05.04 12:24) [12]
Лень :)
А если честно, просто подобным способом в грид вставлял иконки
соответствующие числовым значениям из базы (от 0 до 10)
работает ну и хорошо.
Курдль (2004-05-10 12:24:00) [4]А что мешает добавить Calculate поле в FieldList и вычислять его 2-мя строками кода по событию onCalc...?
sniknik (2004-05-10 12:19:00) [5]> Поправьте если это плохое решение.
похоже это то же самое (судя по описанию, смотреть чем конкретно отличается лень) только с другой стороны (не с датасета а с грида/но событие скорее всего тоже самое испоьзуется).
единственное немного больше мороки с назначением данных если в рантайме назначать, если в десигне наоборот (имхо).
Sergej (2004-05-10 12:06:00) [6]Может я не так использовал свойства грида, но у меня сделано так:
в свойстве KeyList:
0
1
а в свойстве РickList соответственно:
Выключено
Включено
Работает без проблем.
Поправьте если это плохое решение.
Anatoly Podgoretsky (2004-05-10 10:52:00) [7]sniknik © (10.05.04 10:22) [8]
Так там еще и второй плюс, работать будет во всех местах, не как здесь в одном.
sniknik (2004-05-10 10:22:00) [8]очень громоздко, с OnGetText делается в одно условие (2 строчки) в "естественном" событии... прочитай всетаки справку по OnGetText.
Anatoly Podgoretsky (2004-05-10 10:21:00) [9]А правильный ответ с OnGetText так и отказался использовать.
NoName (2004-05-10 10:15:00) [10]:))) Всем пасибо за помощь я реализовал так:
if ( Column.FieldName = 'Type') then
begin
with Grid.Canvas do
begin
Brush.Color := clWhite;
FillRect(Rect);
if (Query.FieldByName('Type').AsInteger = 0) then
begin
TextOut(Rect.Right-2-Grid.Canvas.TextWidth('Включено'),
Rect.Top+2,'ВКлючено');
end
else
Begin
TextOut(Rect.Right-2-Grid.Canvas.TextWidth('Выключено'),
Rect.Top+2,'Выключено');
end
end;
end;
sniknik (2004-05-10 10:08:00) [11]> А нельзя както по подробней?
без проблем.
TTable.Fields[x](TField).OnGetText + F1
tlan (2004-05-10 10:03:00) [12]В DBGrid есть событие OnDrawDataCell (или что-то в этом роде), возникает оно при прорисовке каждой ячейки его и обрабатывай.
NoName (2004-05-10 09:56:00) [13]А нельзя както по подробней?
To Johnmen:
Да вы в принципе правы но мне надо не показывать это поле
1 или 0 а просто в зависимости от него выводить в другом
столбце надпись включено выключено.
Anatoly Podgoretsky (2004-05-10 09:14:00) [14]TField.OnGetText
Johnmen (2004-05-10 03:11:00) [15]...where <состояние>=1 (или 0)