掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBGRIDの複数選択後の取得? (ID:26785)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
指定のボタンを押すと全件選択の状態にします。↓ソースです。 begin DBGrid1.SelectedRows.Clear; with DBGrid1.DataSource.DataSet do begin DisableControls; First; try while not EOF do begin DBGrid1.SelectedRows.CurrentRowSelected := True; Next; end; finally EnableControls; end; end; end; 上記処理後に印刷のボタンを押すとdbgridを読み込みます。↓ソースです。 begin if DBGrid1.SelectedRows.Count = 0 then begin DBGrid1.SelectedRows.currentrowselected := true; end; if DBGrid1.SelectedRows.Count > 0 then begin Sel_XLSFILE := 'xxxxxxxx_01.xls'; XlsReport1.FileName := ExtractFilePath(Application.ExeName) + Sel_XLSFILE; XlsReport1.Start._File; XlsReport1.Page._Begin('xxxxxxxx','1'); for ix := 0 to DBGrid1.SelectedRows.Count - 1 do begin query1.gotobookmark(pointer(DBGrid1.SelectedRows.items[ix])); rh_ohcd := query1.FieldByName ('RHOHCD').AsString; rh_edno := query1.FieldByName ('RHEDNO').Asstring; rh_type := query1.FieldByName ('RHTYPE').AsString; 次に、rh_ohcd,rh_edno,rh_typeをセレクト条件にしてsql文を実行 印刷に必要な項目を取得しています。 ここで使用してる、tqueryは、dbgridで使用してるtqueryと名前は 別にしてあります。(datasourceも同様) データベースは、as400です。 sql文実行前にデバッグでrh_ohcdをみると、000407,000407,000408と続いて欲しいのですが、000407,000408となってしまいます。 但し、同じコードが続かない時は、問題なく処理できます。000407,000407と続いている時に処理がうまくいきません。 これぐらいの情報で大丈夫でしょうか?宜しくお願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.