Используйте обработчик событий QuickReport.OnNeedData.Он передает параметр var с именем MoreData (логическое значение);установка в True означает, что он вызывается снова.Оставьте свойство QuickReport.DataSource пустым и используйте простые элементы управления TQRText, а не TQRDBText.
// CurrLine is an Integer. In your case, it can represent a row in the StringGrid.
procedure TPrintLogForm.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
begin
MoreData := (CurrLine < StringGrid1.RowCount);
if MoreData then
begin
qrTextLine.Caption := StringGrid1.Cells[0, CurrLine];
qrTextData.Caption := StringGrid1.Cells[1, CurrLine];
Inc(CurrLine);
end;
end;