Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi: Базы данных > SQL-запрос на изменение цвета текста или шрифта


Автор: AlexandrNik 29.03.14, 10:05
Снова я к Вам с вопросом)))возможно ли по средствам запроса изменить цвет текста нужных полей таблицы? более конкретно - есть поле в таблице с числовыми значениями (вес), пользователь вводит с клавиатуры заданное значение и вот нужно с помощью этого запроса определить отклонение от нормы на +/-20 и выделить эти ячейки цветом

Автор: Gonarh 29.03.14, 10:19
Можно.

Автор: AlexandrNik 29.03.14, 11:31
Gonarh, а не подскажешь как?

Автор: Gonarh 29.03.14, 11:53
Подсказать как что?

Автор: AlexandrNik 29.03.14, 13:18
Gonarh,код запроса

Автор: Gonarh 29.03.14, 13:50
Ну если тебе это поможет, то на.
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    select color from table_colors where weight between %value1% and %value2%

Автор: MIF 30.03.14, 00:25
Цитата AlexandrNik @
возможно ли по средствам запроса изменить цвет текста нужных полей таблицы?

У полей таблицы нет цвета.

Автор: Павел Калугин 30.03.14, 03:03
Цитата AlexandrNik @
Снова я к Вам с вопросом)))возможно ли по средствам запроса изменить цвет текста нужных полей таблицы? более конкретно - есть поле в таблице с числовыми значениями (вес), пользователь вводит с клавиатуры заданное значение и вот нужно с помощью этого запроса определить отклонение от нормы на +/-20 и выделить эти ячейки цветом

И снова путают данные и отображение. По раскраске отображения смотрите статью "разноцветный DBGrid" на сайте "Кололевство Delphi"

Автор: Bas 31.03.14, 05:36
НеОбычный TDBGrid

Автор: Павел Калугин 31.03.14, 06:53
Bas ну не только эта статья г-жи Филипповой (НеОбычный TDBGrid http://www.delphikingdom.com/asp/viewitem.asp?catalogid=806)

Разноцветный D B G R I D http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168
По следам «полосатого DBGrid» http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1193
Дополнение по теме 'полосатый DBGrid' http://www.delphikingdom.com/asp/viewitem.asp?catalogid=170
Grid с человеческим лицом http://www.delphikingdom.com/asp/viewitem.asp?catalogid=667

Автор: AlexandrNik 05.04.14, 13:45
Павел Калугин, несколько дней пытался решить эту проблему,так ничего и не вышло...если не трудно, помогите решить проблему

Автор: Павел Калугин 06.04.14, 02:22
AlexandrNik все необходимое для решения, как Вы пишете, проблемы, есть по приведенным мной ссылкам

Автор: AlexandrNik 06.04.14, 09:28
Павел Калугин,
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    procedure TForm12.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var s:integer;
    ss,t:string;
    begin
    ADOQuery5.SQL.Clear;
    ADOQuery5.SQL.Add('select ves1 from kkt');
    ADOQuery5.Open;
    t:=adoquery5.Fields[0].AsString;
    s:=strtoint(edit1.Text);
    s:=s-20;
    ss:=inttostr(s);
    if t<=ss then begin
        with  DBGrid1.Canvas do
        begin
            Brush.Color:=clRed;
            Font.Color:=clWhite;
            FillRect(Rect);
            TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
        end;
    end;
    end;

всё бы ничего,но грид окрашивается полностью,не взирая на условие

Автор: AlexandrNik 06.04.14, 13:55
Павел Калугин,всё,решил вопрос!большое спасибо за полезные источники!!!

Автор: coolvasek 26.05.14, 19:13
Цитата Павел Калугин @
И снова путают данные и отображение. По раскраске отображения смотрите статью "разноцветный DBGrid" на сайте "Кололевство Delphi"

Павел Калугин
Я так понял, что для того чтобы раскрасить таблицу по условиям надо писать обработчик например в DBGrid1DrawColumnCell, а с помощью sql запроса это сделать нельзя..
Есть потребность раскрашивать таблицу, причем задавать условия раскраски на форме и сохранять их в базу данных, в отдельную таблицу.
Сейчас я вижу решение задачи в том, что формировать строку string с условием и сохранять ее в базу данных, а когда надо извлекать и расшифровывать с помощью алгоритма в DBGrid1DrawColumnCell.
В статье - По следам «полосатого DBGrid» - http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1193 описано нечто подобное , но мне пока не ясно, можно ли это сохранить в базу данных.
Можно ли использовать для этого какой то инструмент наподобие sql запроса, чтобы не писать фактически собственные "запросы" по такой раскраске и потом не расшифровывать их?

Автор: Павел Калугин 26.05.14, 19:30
coolvasek Инструмент один - голова.
Велосипедов изобретать не нужно - все описано до Вас.
Что такое раскраска. Это цвет. Как проще всего задать цвет - три числа R, G, B
Как проще хранить - ID, наименование,уникальный буквенный код, три числа

Придумать как хранить настройку зависимостей цвета вывод от данных в таблице - отдельная задача, не всегда решаемая в лоб.

Автор: coolvasek 26.05.14, 19:58
Цитата Павел Калугин @
Павел Калугин
Придумать как хранить настройку зависимостей цвета вывод от данных в таблице - отдельная задача, не всегда решаемая в лоб.

Спасибо за ответ!
в этом то как раз основная загвоздка для меня и состоит - в хранении этой настройке зависимостей и его расшифровке..
(Как проще хранить - ID, наименование, уникальный буквенный код, три числа - да, примерно так и собирался).
если бы можно было использовать что-то наподобие sql-запроса или что то похожее на использование filter и onfilterRecord, то было бы замечательно.
Пока

Автор: Павел Калугин 27.05.14, 02:48
coolvasek так это и есть самое главное в решении задачи решить как хранить настройки. Чтобы они легко "поднимались" запросом. Собственно следующий Ваш шаг это модификация ER диаграммы - добавление сущности "цвет" и связей "цвет текста" и "цвет заливки"
Придется подумать и как "хранить" условия, с которыми должен быть связан цвет.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)