Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.14;
Скачать: CL | DM;

Вниз

DBGrid. Отображение "Да" вместо "True"   Найти похожие ветки 

 
Phoenix9000 ©   (2005-04-20 12:45) [0]

Доброго времени суток, уважаемые мастера

У меня возникла проблемма. В таблице DBGrid есть два столбца, в которые выводятся данные из БД. Данные представляют собой тип BOOLEAN, соответственно в DBGrid идет отображение True или False.

Что нужно сделать, чтобы вместо TRUE отображалось ДА, а вместо FALSE - НЕТ ? Сделать это нужно так. чтобы в самой базе данных данные не менялись, а поменялось только их отображение в DBGrid.

Заранее спасибо.


 
Johnmen ©   (2005-04-20 12:50) [1]

или Calculated поле в наборе данных
или OnGetText для поля


 
Phoenix9000 ©   (2005-04-20 12:52) [2]

To Johnmen

Пожалуйста поподробнее. :)


 
Slider007 ©   (2005-04-20 12:52) [3]

.. IIf(Requests!Completed=true,"Да","Нет") AS Field ..

это кусок запроса


 
Phoenix9000 ©   (2005-04-20 12:56) [4]

To Slider007

Если можно поподробнее.


 
Johnmen ©   (2005-04-20 13:02) [5]

Все подробности, как обычно, по F1


 
Megabyte ©   (2005-04-20 15:40) [6]

Кликаешь по компоненту TTable правой кнопкой мыши, выбираешь Fields editor...
Добавляешь все поля(по умолчанию). Выбираешь нужное поле(BOOLEAN) и в свойстве DisplayValues через ";" ставишь отображаемые значения: в твоем случае "да;нет"!(соблюдай порядок для соответствия)


 
mozart   (2005-04-21 20:50) [7]

Table1.FieldByName("MyField").DisplayValues:="Да;Нет";


 
natalie   (2005-05-03 16:18) [8]

Думала, что нашла решение такой же проблемы, ан нет, не вышло.
Привожу буквально:
dmOrders.qOrders.FieldByName("Accepted").DisplayValues:="V; ";

[Error] MainForm.pas(176): Undeclared identifier: "DisplayValues"
Делать- то что?


 
Плохиш ©   (2005-05-03 16:31) [9]

TBooleanField(dmOrders.qOrders.FieldByName("Accepted").DisplayValues)


 
_1   (2005-05-03 16:38) [10]

Ещё вариант -
[Client]Dataset c двумя записями:

Value  DisplayValue
--------------------
True      Да
False     Нет
--------------------
.
И Lookup-поля для других Dataset"ов с полями типа Boolean.


 
Erich   (2005-05-03 22:11) [11]

А можно через отрисовку грида этот вопрос решить...


 
natalie   (2005-05-04 09:52) [12]

TBooleanField(dmOrders.qOrders.FieldByName("Accepted").DisplayValues)

ошибка та же:(
А можно  прояснить смысл использования здесь TBooleanField  ?
Erich
"через отрисовку грида этот вопрос решить"- интересно узнать подробней, что имеется в виду.


 
stone ©   (2005-05-04 09:54) [13]


> natalie   (04.05.05 09:52) [12]
> TBooleanField(dmOrders.qOrders.FieldByName("Accepted").DisplayValues)
>
> ошибка та же:(

TBooleanField(dmOrders.qOrders.FieldByName("Accepted")).DisplayValues


 
ANB ©   (2005-05-04 09:56) [14]


> natalie   (04.05.05 09:52) [12]
- рисовать это поле ручками в OnDrawColumnCell. Имхо - не лучший вариант. Лучше через калькулируемые поля.


 
natalie   (2005-05-04 10:01) [15]

stone ©   (04.05.05 09:54) [13]
Спасибо, получилось, со скобками действительно я того... Это просто утро :)

А мысль про отрисовку грида все равно интересна.


 
Soft ©   (2005-05-04 18:49) [16]

Event в DbGrid OnDrawDataCell.

Вот код в качестве примера
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
 Field: TField; State: TGridDrawState);
begin
 if Field.FieldName="MY_FIELD"{обязательно в Upper Case} then
   DBGrid1.Canvas.TextRect(Rect,Rect.Left,Rect.Top,Field.AsString{или перевести в стринг процедурой перевода});
end;



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

Текущий архив: 2005.06.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.061 c
1-1117521709
imm
2005-05-31 10:41
2005.06.14
Где искать буфер TBitmap


3-1115781609
Lex_!
2005-05-11 07:20
2005.06.14
Можно ли в TThread работать с базой данных


1-1117512723
Layner
2005-05-31 08:12
2005.06.14
Интересная особенность MonthCalendar, если стоит Multiselect=True


1-1117430496
vvllaadd
2005-05-30 09:21
2005.06.14
Перенос текста в BitBtn ...


1-1117469400
Alexander Panov
2005-05-30 20:10
2005.06.14
Скрыть public-метод в наследнике.