![]() |
|
|
#1
|
|||
|
|||
![]() Здравствуйте! такой вопрос...В DbgridEh отображается база аксесс. В одном из столбцов процедура замены символов
Код:
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); begin if column.FieldName = 'Unit' then with dbgrideh1.Canvas do begin fillrect(rect); if adoquery1.FieldByName('Unit').AsString = 'считыватель 2-2' then begin textout(rect.Left + 39 - dbgrideh1.Canvas.TextWidth('заезд'), rect.Top + 2, 'заезд'); end else textout(rect.Left + 39 - dbgrideh1.Canvas.TextWidth('выезд'), rect.Top + 2, 'выезд'); end; end; На экране все норм, но когда вывожу на печать, то печатается "считыватель"...как можно сделать, чтобы печаталось все таки "заезд"...? |
#2
|
||||
|
||||
![]() Лучше использовать гриды для отображения информации, а всякие замены и т.п. осуществлять на уровне запроса к базе данных.
Просто это самый оптимальный вариант. Тем более твой код просто рисует текст на канве, а не меняет значения внутри самого грида. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
![]() А можно пример или хотя бы ссылку на построение такого запроса?
|
#4
|
||||
|
||||
![]() Выборку как делаешь? Код в студию.
На счет акцеса помочь не могу, только с Ораклом. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
![]() Выборка простая...
Код:
ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT * FROM events where events.message = "проход совершен" '); ADOQuery1.Active := True; Просто представления даже не имею, как можно запросом "заменить слова"...и нагуглить не могу пока ничего полезного) |
#6
|
||||
|
||||
![]() примерно так, не помню только может ли акцесс работать с IIF
Код:
SELECT *, IIF(unit = 'считыватель 2-2', 'заезд', 'выезд') as new_str FROM events where events.message = "проход совершен" гугление в частности это Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Последний раз редактировалось Yurk@, 29.01.2013 в 16:22. |