ReportBuilder + cxGrid = Ошибка: "холст не позволяет рисовать"

Есть ли cxGrid и ReportBuilder отчет, связанный с тем же источником данных. Когда я печатаю отчет, он показывает ошибку: "холст не позволяет рисовать".

Это мой код для решения.

  Screen.Cursor := crHourGlass;
  cxGridModeloDBTableView1.DataController.DataSource := nil;
  try
    pprReportBuilder.Print;
  finally
    cxGridModeloDBTableView1.DataController.DataSource := dsModeloView;
    Screen.Cursor := crDefault;
  end;

Кто-нибудь может помочь мне решить эту проблему другим способом? Спасибо!

1 ответ

Решение

Я предполагаю, что ReportBuilder перемещается по набору данных для создания отчета, но cxGrid этого не ожидает.

Вместо того, чтобы отделить источник данных, попробуйте использовать cxGrid.BeginUpdate а также cxGrid.EndUpdateдо и после pprReportBuilder.Print как это:

  Screen.Cursor := crHourGlass;
  cxGridModeloDBTableView1.BeginUpdate;
  try
    pprReportBuilder.Print;
  finally
    cxGridModeloDBTableView1.EndUpdate;
    Screen.Cursor := crDefault;
  end;

НТН

Другие вопросы по тегам