Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

Дополнительное поле   Найти похожие ветки 

 
NoName   (2004-05-10 02:18) [0]

Доброй ночи всем!

 Помогите реализовать следующее: У меня в таблице храниться
 состояние 1 или 0. Я хочу в гриде в зависимости от этого  наачения выводить запись Включено или Выключено.
Как это сделать?
Буду благодарен за любую идею.


 
Johnmen ©   (2004-05-10 03:11) [1]

...where <состояние>=1  (или 0)


 
Anatoly Podgoretsky ©   (2004-05-10 09:14) [2]

TField.OnGetText


 
NoName   (2004-05-10 09:56) [3]

А нельзя както по подробней?

To Johnmen:
Да вы в принципе правы но мне надо не показывать это поле
1 или 0 а просто в зависимости от него выводить в другом
столбце надпись включено выключено.


 
tlan   (2004-05-10 10:03) [4]

В DBGrid есть событие OnDrawDataCell (или что-то в этом роде), возникает оно при прорисовке каждой ячейки его и обрабатывай.


 
sniknik ©   (2004-05-10 10:08) [5]

> А нельзя както по подробней?
без проблем.
TTable.Fields[x](TField).OnGetText + F1


 
NoName   (2004-05-10 10:15) [6]

:))) Всем пасибо за помощь я реализовал так:
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;


 
Anatoly Podgoretsky ©   (2004-05-10 10:21) [7]

А правильный ответ с OnGetText так и отказался использовать.


 
sniknik ©   (2004-05-10 10:22) [8]

очень громоздко, с OnGetText делается в одно условие (2 строчки) в "естественном" событии... прочитай всетаки справку по OnGetText.


 
Anatoly Podgoretsky ©   (2004-05-10 10:52) [9]

sniknik ©   (10.05.04 10:22) [8]
Так там еще и второй плюс, работать будет во всех местах, не как здесь в одном.


 
Sergej   (2004-05-10 12:06) [10]

Может я не так использовал свойства грида, но у меня сделано так:
в свойстве KeyList:
0
1

а в свойстве РickList соответственно:
Выключено
Включено

Работает без проблем.
Поправьте если это плохое решение.


 
sniknik ©   (2004-05-10 12:19) [11]

> Поправьте если это плохое решение.
похоже это то же самое (судя по описанию, смотреть чем конкретно отличается лень) только с другой стороны (не с датасета а с грида/но событие скорее всего тоже самое испоьзуется).
единственное немного больше мороки с назначением данных если в рантайме назначать, если в десигне наоборот (имхо).


 
Курдль ©   (2004-05-10 12:24) [12]

А что мешает добавить Calculate поле в FieldList и вычислять его 2-мя строками кода по событию onCalc...?


 
Sergej   (2004-05-10 12:31) [13]

Курдль ©   (10.05.04 12:24) [12]

Лень :)

А если честно, просто подобным способом в грид вставлял иконки
соответствующие числовым значениям из базы (от 0 до 10)
работает ну и хорошо.


 
Курдль ©   (2004-05-10 12:38) [14]

- Гоги! Помоги! Вано на дерево влез, а спуститься не может!
- Тащи веревку, обвязывай его и тяни!
...
- Гоги! Вано убился!
- Странно... На прошлой неделе Резо таким же способом нормально из колодца достали...


 
Кщд ©   (2004-05-17 13:15) [15]

Sergej   (10.05.04 12:06) [10]
прошу прощения, но какому классу принадлежит св-во KeyList?



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.035 c
1-1085296596
Natalia
2004-05-23 11:16
2004.06.06
Проблема при подключении С-ной DLL.


1-1085166307
Lena19
2004-05-21 23:05
2004.06.06
как узнать размер буквы в пикселях не помещая ее на канву


4-1083207979
Yus
2004-04-29 07:06
2004.06.06
Нажатие кнопки (API)


1-1085634925
an-na2002
2004-05-27 09:15
2004.06.06
Как сделать невидимым или неактивным TEdit?


3-1084854673
AVP_opck
2004-05-18 08:31
2004.06.06
как сделать чтоб поле calculated один раз расчиталось запомнило





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский