for i := 0 to rowcount - 1 do
begin
sgd_3.cells[0,i+1] := inttostr(i + 1) ;
sgd_3.cells[1,i+1] := lv_dept_cd[i];
end;
여기서 qty값이 0이 있다면 sgd_3.cells의 색깔을 빨간색으로 표시되게 하고 싶은데요...
for i := 0 to rowcount - 1 do
begin
if CDSet1.FieldByName('qty').AsInteger = 0 then
// lv_dept_cd에 색깔을 빨간색으로 표시???
end;
OnDrawCell 이벤트 핸들러에서
StringGrid의 Canvas의 Font.Color 바꾸라고 해서
for i := 0 to RecordCount - 1 do
begin
if CDSet1.FieldByName(`qty`).AsInteger = 0 then
begin
if ACol = 3 and ARow = i then
sgd_1.Canvas.Font.Color := clRed;
end;
end;
이렇게 했는데도 변화가 없네요...
조회해서 나오는 값이 여러개인데 그중에서
조건이 if CDSet1.FieldByName(`qty`).AsInteger = 0 이경우를
만족시킬때만 색깔이 바뀌고 싶거든요..
stringgrid에서 첫번재는 순번, 두번째는 부서명인데... 이 두개 모두 글자색을 변경하는건데 잘안되네요..
이런 형태로 해보세요..
if ACol = 3 and ARow = i then
begin
sgd_1.Canvas.Font.Color := clRed;
sgd_1.Canvas.TextRect(Rect, Rect.Left, Rect.Top, sgd_1.Cells[ACol, ARow]);
end;