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

Спасибо за помощь. Все работает

27 (edited by metatron 2018-09-24 11:11:45)

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

Хотелось бы увидеть пример данной задачи. Можно кодом.  Это возможно?

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

metatron wrote:

Хотелось бы увидеть пример данной задачи. Можно кодом.  Это возможно?

Пожалуйста опишите свою ситуацию.

Dmitry.

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

DriveSoft wrote:

Пожалуйста опишите свою ситуацию.

Есть журнал заданий для рабочих смен. Для визуально отображения статуса заданий ячейки покрашены в разные цвета вот таким методом:

procedure zurnal_zadania_TableGrid1_OnChange (Sender: TObject);
var
   i,c: integer;
begin
     c := zurnal_zadania.TableGrid1.RowCount-1; // получаем количество строк в гриде
     for i := 0 to c do // цикл перебора всех строк
     begin
          // красим ячейку в зависимости от текста или части текста в ней, в колонке 2
          if  Pos('Не принято', zurnal_zadania.TableGrid1.Cells[1,i])>0 then zurnal_zadania.TableGrid1.Cell[1,i].Color := $005551F4;
          if  Pos('Принято', zurnal_zadania.TableGrid1.Cells[1,i])>0 then zurnal_zadania.TableGrid1.Cell[1,i].Color := $0053D9FF;
          if  Pos('Выполнено', zurnal_zadania.TableGrid1.Cells[1,i])>0 then zurnal_zadania.TableGrid1.Cell[1,i].Color := $005FD862;
          //if  Pos('Выполнено', zurnal_zadania.TableGrid1.Cells[1,i])>0 then zurnal_zadania.TableGrid1.Cell[1,i].TextColor := clGreen; если надо покрасить текст
     end;
end;

На данный момент статус меняется методом вызова нового окна и выбором из выпадающего списка. Хотелось бы это делать кнопками в окне где находится грид.

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

В принципе можно просто задействовать редактирование данных непосредственно в TableGrid, установите свойство Editable > AllowEdit = True


Если все же необходимо редактировать кнопкой, приложите ваш проект, сделаю.

Dmitry.

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

DriveSoft wrote:

Если все же необходимо редактировать кнопкой, приложите ваш проект, сделаю.

Хотелось бы увидеть как это реализуется. Буду применять в других местах по мере разработки.

Post's attachments

Attachment icon 01PO.rar 427.88 kb, 304 downloads since 2018-09-27 

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

К сожалению в вашем проекте нет записей в таблице status_zadania, поэтому мне неизвестно id записи, которая соотвествует статусу "Выполнено", в примере ниже я использую id=1 (id_status_zadania = 1)

procedure zurnal_zadania_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
     if zurnal_zadania.TableGrid1.dbItemID <> -1 then
     begin
         SQLExecute('UPDATE zurnal_zadanie SET id_status_zadania = 1 WHERE id='+zurnal_zadania.TableGrid1.sqlValue);
         zurnal_zadania.TableGrid1.dbUpdate;
     end;
end;
Dmitry.

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

DriveSoft wrote:

К сожалению в вашем проекте нет записей в таблице status_zadania...

Этого вполне достаточно, спасибо.