![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как изменить результаты запроса в DbGrid?
Novicer © (2014-02-13 00:59:00)Здравствуйте мастера! Подскажите плиз возможно ли такое? Хочу сделать запрос, числовой результат отобразить в DbGrid и потом умножить например на 3 и результатом заменить пред.значение или арифм.операции можно заложить в сам запрос и отобразить уже в гриде готовый результат?
Inovet (2014-02-14 09:55:00) [1]> Разноцветный DBGrid
Или поставь EhLib, там много чего есть.
Inovet (2014-02-14 09:53:00) [2]> [36] Ega23 © (13.02.14 15:53)
> Нельзя сравнивать на равенство числа с плавающей запятой
к тому же с целым ещё, ну да ладно неявно преобразуется.
Германн (2014-02-14 03:26:00) [3]
> Novicer (14.02.14 00:50) [42]
>
> Если отключаю дефолтдравинг все рисует правильно, все данные
> в гриде отображает, но выбранная строка не выделяется, некрасиво.
> .. :(
Так я же сказал рисовать надо правильно, а не как бог послал.
Читай
Разноцветный DBGrid http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168#link2
Novicer (2014-02-14 00:50:00) [4]Если отключаю дефолтдравинг все рисует правильно, все данные в гриде отображает, но выбранная строка не выделяется, некрасиво... :(
Германн (2014-02-14 00:13:00) [5]
> Novicer (13.02.14 20:32) [39]
>
> Пльохо... :( с отрисовкой на канве пашет, но эффект наложения
> старых данных все портит, а где перехватить незнаю :(
>
Не перехватывать надо, а рисовать всё самому и правильно. Если уж решил изменить стандартную отрисовку DBGrid'a.
Dennis I. Komarov (2014-02-13 23:31:00) [6]
> Нельзя.
Нет тебе прощения... ;)
Novicer (2014-02-13 20:32:00) [7]Пльохо... :( с отрисовкой на канве пашет, но эффект наложения старых данных все портит, а где перехватить незнаю :(
Германн (2014-02-13 19:54:00) [8]
> Так можно или нет на OnGetText поменять цвет строки, вернее
> шрифта по заданному условию?
Нельзя.
Novicer (2014-02-13 19:52:00) [9]Пусть будет и Абс. Так можно или нет на OnGetText поменять цвет строки, вернее шрифта по заданному условию? Как?
Ega23 (2014-02-13 15:53:00) [10]Нельзя сравнивать на равенство числа с плавающей запятой.
В общем виде это Abs(Value1 - Value2) <= Epsilon
где Epsilon - требуемая точность.
Novicer (2014-02-13 15:15:00) [11]Если отключить дефолтную отрисовку и самому указывать цвет строки в DBGrid1DrawColumnCell в зависимости от условий,то эффект "накладки" исчезает,но пропадает выделение строки(виден только курсор слева) и всплывают какие-то артефакты между колонками в виде вертикальных разноцветных линий на высоту строки.. :(
Novicer (2014-02-13 15:02:00) [12]С IF Sender.AsFloat=0 then Form1.DBGrid1.Canvas.Font.Color := clRed; та же петрушка... :(
Novicer (2014-02-13 14:55:00) [13]Канва так понимаю ненужное направление :) Теперь хочу изменить цвет шрифта на красный в строке, в которой в поле "Количество" значение равно нулю . Метод с канвой работает до момента выделения строки(установки курсора), потом опять накладка. Хочу избавиться от этого эфекта используя снова событие OnGetText. Прописал на нужное поле такой обработчик:
IF Sender.AsFloat=0 then Form1.DbGrid1.Font.Color := clRed;
но при попытке компиляции получаю месагу: Undeclared identifier: 'clRed'
С какого такого красный ему не нравиться непонятно? :( Попытка изменить цвет к успеху не привела... :)
Inovet (2014-02-13 14:48:00) [14]> [31] Novicer (13.02.14 14:43)
> в нужном направлении
в ненужном
Novicer (2014-02-13 14:43:00) [15]Получилось! Все работает как надо! Всем спасибо за помощь и дружеские пинки в нужном направлении! ;)
Ega23 (2014-02-13 14:30:00) [16]Да, Серёга, зря ты это сделал...
Novicer (2014-02-13 14:28:00) [17]А вот такая замена текста работает: IF Sender.AsString='Ля-ля-ля' then Text := 'Бла-бла-бла'; Вот от этого и бум плясать дальше... :)
Novicer (2014-02-13 14:23:00) [18]Мдя.. Это я напутал игрался с полями, не назначил снова обработчик,потому и не было внешних изменений. Теперь на OnGetText нужного поля прописал if DisplayText then Text := AnsiUpperCase(Text); и данные после выполнения запроса уже вобще не отображает в этом поле :(
Ega23 (2014-02-13 14:18:00) [19]
> То ли лыжи не едут,то ли.. Никак не соображу как с OnGetText
> на лету менять значения ячеек в нужной колонке данных после
> выполнения запроса? Или это надо в процессе делать?
А там тоже надо поля ручками прописывать. А для некоторых - ещё и про Case Sensitive не забывать.
Anatoly Podgoretsky (2014-02-13 14:18:00) [20]Ты не черт, а дьявол