1 (edited by Ra*dmin 2014-09-23 09:56:52)

Topic: [Все решено] Кнопка на назначения цвета строкам в Grid

Здравствуйте DriveSoft
Подскажите пожалуйста, можно ли назначить кнопку на форме, при клике закрашивала строку в Grid
на которой находится фокус, и чтобы это все сохранялось.
Благодарю. С Уважением. Ra*dmin

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Приветствую,


это возможно сделать только с использованием скриптов и языка запросов SQL.
Как я понимаю, цвет должен говорить о неком статусе записи, поэтому можно сделать так:


1. В таблице базы данных завести поле, в котором будет хранится статус записи.


2. При нажатии по кнопке, выполнять функцию SQLExecute, которая с помощью SQL запроса изменит статус выбранной записи, затем вызвать метод компонента TableGrid.dbUpdate, чтобы сработало событие OnChange


3. Воспользоваться событием OnChange, в которой написать код, который раскрасит строки с необходимым статусом.
http://myvisualdatabase.com/forum/viewtopic.php?id=451

Dmitry.

3 (edited by Ra*dmin 2014-09-21 18:57:41)

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Огромное спасибо за ответ,  а подскажите пожалуйста можно сделать тоже самое (выделение цветом) но по части текста?
Что в некоторых ситуациях во много раз упростило бы работу.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Можно
Cell[x,y].TextColor - Определяет цвет текста в указанной ячейки


пример:

 Form1.TableGrid1.Cell[3,4].TextColor := clRed;
Dmitry.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

DriveSoft wrote:

Можно
Cell[x,y].TextColor - Определяет цвет текста в указанной ячейки


пример:

 Form1.TableGrid1.Cell[3,4].TextColor := clRed;

Здравствуйте, извините наверно я не так написал то что хотел, имеется в виду:
допустим есть столбец с номерами HGJF45TY, HGYT78D, GJJ45F8D и тд. и если
в номере присутствует допустим буква Т то ячейка окрашивается, если в составе
номера нет такого знака то ничего не происходит, как то так.
(Ну и вообще фантастика если бы окрашивалась именно до этого знака, ну это уже...)
Спасибо огромное

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

тогда условие окрашивания ячейки будет таким

procedure Form1_TableGrid1_OnChange (Sender: string);
var
    i,c: integer;
begin
    c := Form1.TableGrid1.RowCount - 1;
    for i := 0 to c do
    begin
         if  Pos('T', Form1.TableGrid1.Cells[3,i])>0 then Form1.TableGrid1.Cell[3,i].Color := clRed;
    end;
end;

окрашивание текста до знака к сожалению не сделать.

Dmitry.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Благодарю Вас за ответ Вы гений, подскажите еще пожалуйста хочу сделать
отдельную кнопку на выбор пути до базы данных, как прописать код?

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
     frmOptionsdbCore.ShowModal;
end;
Dmitry.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

DriveSoft wrote:
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
     frmOptionsdbCore.ShowModal;
end;

Подскажите пожалуйста код кнопки на дизайнер отчетов.
Спасибо

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
     Form1.mniReport.Click;
end;

но перед использованием этого кода, скачайте пожалуйста бета версию 1.44
https://www.dropbox.com/s/2phoggh5kfu88 … 4.zip?dl=0

Dmitry.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Огромнейшее спасибо...

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Цвет в Button не красится даже кодом !

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Спасибо, знаю, к сожалению пока не разобрался почему.

Dmitry.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Разобрался почему не красится. Вот, исправить надо:
if Form1.GridEmployees.Cells[3,i] = 'Да' then Form1.GridEmployees.Cell[3,i].Color := clRed;
         if Form1.GridEmployees.Cells[3,i] = 'Нет' then Form1.GridEmployees.Cell[3,i].Color := clGreen;

15 (edited by Augsberger 2015-01-11 20:52:09)

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Задумка такая! В столбце скриптом находиться нужное слово и подкрашивается...(*это получилось)...а нужно еще чтобы в этой же строке также одновременно подсветить еще один столбец (например первый)!

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Augsberger
Покажите пожалуйста ваш скрипт, который подкрашивает слово, постараюсь его доработать.

Dmitry.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

DriveSoft wrote:

Augsberger
Покажите пожалуйста ваш скрипт, который подкрашивает слово, постараюсь его доработать.

begin
    c := Form1.TableGrid1.RowCount - 1;
    for i := 0 to c do
    begin
         if  Pos('Рабочий', Form1.TableGrid1.Cells[9,i])>0 then Form1.TableGrid1.Cell[9,i].Color := clGray;
    end;

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

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

begin
    c := Form1.TableGrid1.RowCount - 1;
    for i := 0 to c do
    begin
         if  Pos('Рабочий', Form1.TableGrid1.Cells[9,i])>0 then 
         begin
              Form1.TableGrid1.Cell[9,i].Color := $00AAAAFF;
              Form1.TableGrid1.Cell[0,i].Color := $00AAAAFF;
         end;
    end;

$00AAAAFF - светло-красный
$00AAFFFF - светло-желтый
$00AAFFAA - светло-зеленый

Dmitry.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

DriveSoft wrote:

тогда условие окрашивания ячейки будет таким

procedure Form1_TableGrid1_OnChange (Sender: string);
var
    i,c: integer;
begin
    c := Form1.TableGrid1.RowCount - 1;
    for i := 0 to c do
    begin
         if  Pos('T', Form1.TableGrid1.Cells[3,i])>0 then Form1.TableGrid1.Cell[3,i].Color := clRed;
    end;
end;

окрашивание текста до знака к сожалению не сделать.

могу ли я окрасить определенную ячейку ( по нашей базе заказы) чтобы только заказ выделялся от основной массы.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Menshikov
Можете )
в данной ветке есть примеры, о какой вашей базе идет речь? я к сожалению все не помню )

Dmitry.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

DriveSoft wrote:

Menshikov
Можете )
в данной ветке есть примеры, о какой вашей базе идет речь? я к сожалению все не помню )

не могу вставить ссылку на тему, тема называется "таблица и comboBox и др." вы помогли мне очень с базой. правда пока еще есть один вопрос он в той теме остался по базе чехлов в заказах. именно эту ячейку я и хотел раскрасить.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

Menshikov
В данной теме есть проект с примером, как раскрашивать ячейки:
http://myvisualdatabase.com/forum/viewtopic.php?id=451

Dmitry.

23 (edited by sokolov 2015-01-23 15:38:38)

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

DriveSoft wrote:

2. При нажатии по кнопке, выполнять функцию SQLExecute, которая с помощью SQL запроса изменит статус выбранной записи, затем вызвать метод компонента TableGrid.dbUpdate, чтобы сработало событие OnChange
3. Воспользоваться событием OnChange, в которой написать код, который раскрасит строки с необходимым статусом.
http://myvisualdatabase.com/forum/viewtopic.php?id=451

Добрый день. Реализую что то наподобие. То есть есть записи в таблице, есть поле, которое по умолчанию у всех записей 'НЕТ'. И у некоторых записей есть поле с прикрепленным файлом. Так вот нужно чтобы это поле 'НЕТ' у тех записей где есть "вложение" при клике по этим записям становилось 'ДА' и все это сохранялось в таблице.
Делал так: при клике по записи вызывал FileExists(), если true то менял запись 'НЕТ' на 'ДА' в соответствующей колонке,  а вот как это сохранить так и не разобрался. Пытался через UPDATE таблицы, но не получилось. Подскажите пожалуйста. Заранее спасибо.

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

sokolov wrote:

Добрый день. Реализую что то наподобие. То есть есть записи в таблице, есть поле, которое по умолчанию у всех записей 'НЕТ'. И у некоторых записей есть поле с прикрепленным файлом. Так вот нужно чтобы это поле 'НЕТ' у тех записей где есть "вложение" при клике по этим записям становилось 'ДА' и все это сохранялось в таблице.
Делал так: при клике по записи вызывал FileExists(), если true то менял запись 'НЕТ' на 'ДА' в соответствующей колонке,  а вот как это сохранить так и не разобрался. Пытался через UPDATE таблицы, но не получилось. Подскажите пожалуйста. Заранее спасибо.


Приветствую,


Пришлите пожалуйста ваш проект на support@drive-software.com
постараюсь помочь.

Dmitry.

25 (edited by sokolov 2015-01-24 09:07:31)

Re: [Все решено] Кнопка на назначения цвета строкам в Grid

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