質問

Windows 7でDelphi 7とQuickReportsを使用しています。クエリ。

どのように?

役に立ちましたか?

解決

QuickReport.onneedDataイベントハンドラを使用します。それはMoredataと呼ばれるvarパラメータ(ブール値)を渡します。それをtrueに設定すると、それが再び呼び出されることを意味します。QuickReport.DataSourceプロパティを空白のままにして、TQRDBTEXTではなくPlain TQRTextコントロールを使用してください。

// 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;
.

他のヒント

i列のセットがStringGrid内(および対応するTcrientDataSetと共に)固定されていると仮定する。ステップバイステップの説明:

  1. の形式でTclientDataSetを削除
  2. Doublic TclientDataSetをクリックし、キーボードの挿入キーを押して新しいフィールドを追加し、グリッドのそれぞれの列に1つのフィールドを追加します。例:col1、string、128幅。
  3. フォームのTclientDataSetを右クリックして、「データセットの作成」
  4. を押す
  5. 実行時にこの種のコードを実行してください:
  6.   CS.Append;
      CS['COL1'] := 'Whatever';
      CS['COL2'] := 'An other thing';
      CS.Post;
    
    .

    グリッド内の各行の上にループするループ内の追加/投稿をする必要があります。COL1、COL2などを他のループに割り当てることも、それを手書きにすることもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top