Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.032 c