Здравствуйте.
Возникла непонятная (для меня) ситуевина.
Из txt файла в StringGrid1 загружается таблица. Если во 2-й колонке каждой строки нет записей - цвет записи в 1-й колонке изменяется. В StringGrid1 все это прекрасно работает.
Далее часть строк из StringGrid1 копируется в StringGrid2, в котором тоже и таким-же образом происходит изменение цвета шрифта.
Вот здесь этот процесс и не "катит". Во 2-й колонке строки записей нет, а изменение цвета в 1-й колонке не происходит. Для проверки, добавил кнопку и после копирования в StringGrid2 очищаю (и без того пустую) ячейку во 2-й колонке. В 1-й - цвет изменяется. Такое впечатление, что в этих ячейках 2-й колонки что-то находится. Но на экране ничего нет.
Где моя квадратная голова дала сбой ?
// копирование части строк из SG1в SG2
var Rmin, Rmax : integer; // номера строк в SG1
NRow : integer;
begin
for NRow := Rmin to Rmax do
StringGrid2.Rows[StringGrid2.RowCount].Text:=StringGrid1.Rows[NRow].Text;
StringGrid2.RowCount:=StringGrid2.RowCount+1 ;
end;
//изменение цвета шрифта в 1-й колонке, при отсутствии записей во 2-й колонке
procedure TForm1.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (ACol = 1) and (StringGrid2.Cells[2,ARow] = '') then
with StringGrid2.Canvas do begin
Font.Color:= clMaroon ;
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, StringGrid2.Cells[ACol, ARow]);
end;
end;
// очистка ячейки
procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid2.Cells [2,4] := '';
end;