Re: [Все решено] Кнопка на назначения цвета строкам в Grid
Спасибо за помощь. Все работает
My Visual Database → Russian → [Все решено] Кнопка на назначения цвета строкам в Grid
Спасибо за помощь. Все работает
Хотелось бы увидеть пример данной задачи. Можно кодом. Это возможно?
Хотелось бы увидеть пример данной задачи. Можно кодом. Это возможно?
Пожалуйста опишите свою ситуацию.
Пожалуйста опишите свою ситуацию.
Есть журнал заданий для рабочих смен. Для визуально отображения статуса заданий ячейки покрашены в разные цвета вот таким методом:
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;
На данный момент статус меняется методом вызова нового окна и выбором из выпадающего списка. Хотелось бы это делать кнопками в окне где находится грид.
В принципе можно просто задействовать редактирование данных непосредственно в TableGrid, установите свойство Editable > AllowEdit = True
Если все же необходимо редактировать кнопкой, приложите ваш проект, сделаю.
Если все же необходимо редактировать кнопкой, приложите ваш проект, сделаю.
Хотелось бы увидеть как это реализуется. Буду применять в других местах по мере разработки.
К сожалению в вашем проекте нет записей в таблице 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;
К сожалению в вашем проекте нет записей в таблице status_zadania...
Этого вполне достаточно, спасибо.
My Visual Database → Russian → [Все решено] Кнопка на назначения цвета строкам в Grid
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi