QRBand(rbDetail)にQRShape(Rectangle)を並べて表をつくってみましたが、罫線がずれてしまいます。QReportで表をつくるのはどうすればいいのですか?
QReportだと、この方法しかないでしょうね。
罫線をプログラムで位置指定すればそれらしくなります。
HOta様、ありがとうございました。
Raveなら簡単にできるかも?と読みました。
が、気が重い・・
解決になっているようですが...
1)QRShape(Rectangle)を並べて表をつくって
2)罫線がずれて
この2つが意味不明です。
質問者がやりたい「StringGridのような罫線付の表」とはこういう事か?
┏━━━┳━━┳━━┳━━┓
┃出身地┃苗字┃名前┃性別┃
┣━━━╋━━╋━━╋━━┫
┃東京都┃稲垣┃拓哉┃男性┃
┣━━━╋━━╋━━╋━━┫
┃沖縄県┃島袋┃仁絵┃女性┃
┗━━━┻━━┻━━┻━━┛
こちらでは普通にできている(と思う)。
##QRShape(Rectangle)を並べて##
はいませんが
表の中身はTQRxxとTQRDBxxが混在しているが、Excelの表と同程度には
罫線がそろっていると思う。
質問者は上記1)と2)、ついでに環境等(プリンタも含めて)について
今少し詳細に説明してはどうだろう?
有効な助言が返せるかもしれない。
beagle様ありがとうございました。
説明能力の欠如を痛感しているところですが、せっかくの御申し入れですのでtryしてみます。
>QRShape(Rectangle)を並べて表をつくって
QRBand(rbDetail)にQRShape(Rectangle)を4個、height をそろえて横につなげて配置します。
BandとShape は height が同じです。
各セルにQRDBTextに配置し、program 実行時にdatabase の recordのfieldを設定し、previewすると列数が4、行数がrecord数の罫線付の表が表示されます。
>罫線がずれて
この表は、top とbottom を除くhorizontal line が2回描画されますので、preview時に二重線となることがあります(ならないこともあります。微妙)
環境:Delphi7-pro,WinXp-home
自分がよくやる方法
DetailBand部には、横罫線を一本配置
行としての上罫線か下罫線かは、状況によって変えています。
縦線は、DetailBandではなく、TQuickRepに直接貼り付け
qrsRectangleではなくqrsLeftLineやqrsVertLineで使用することが多いです。
これで、二重に線を書くことはありません。
罫線の位置あわせの調整は面倒ですけど。
一般コンポーネントのプロパティであるTop,Left,Width,Heightでなく、Sizeプロパティの
Top,Left,Width,Heightを変更するのが微調整のコツ・・・らしい。
確認するけど、
質問者は↓このようなQRShape(Rectangle)を作って
┏━━━┓
┃○○○┃
┗━━━┛
↓このように4つ(仮に)並べてQRBand(rbDetail)に貼り付けた。
┏━━━┓┏━━┓┏━━━━┓┏━┓
┃○○○┃┃△△┃┃□□□□┃┃×┃
┗━━━┛┗━━┛┗━━━━┛┗━┛
で、4つのQRShape(Rectangle)を、隙間なくぴったりくっつけた。
↓このような表示を期待している。
┏━━━┳━━┳━━━━┳━┓
┃○○○┃△△┃□□□□┃×┃
┣━━━╋━━╋━━━━╋━┫
┃○×△┃△□┃○×△□┃×┃
┗━━━┻━━┻━━━━┻━┛
が、↓このようになる「事がある」のかな?
┏━━━┳━━┳━━━━┳━┓
┃○○○┃△△┃□□□□┃□┃
┣===╋==╋====╋=┫
┃○×△┃△□┃○×△□┃×┃
┣===╋==╋====╋=┫
┃○×△┃△□┃○×△□┃×┃
┗━━━┻━━┻━━━━┻━┛
>preview時に二重線
previewだけなら特に問題ないと思うが、印刷するとどうなっているのかな?
1)印刷でも二重線になることがある。
2)線が太くなる場合がある。
3)それ以外の問題がある。
・・・ ん? さんの答えは私と同じ方法かと思ったけど、
>縦線はTQuickRepに直接貼り付け
これが私には良くわからないです。
>行数がrecord数の罫線付の表
に対応するためには、レコード数に応じて縦線の長さを変えなければ
ならないのでは? という気がしますが。
DatailBandにShapeのHorizontalLine1本とRightAndLeftを組み合わせて、おおむね満足できるものが出来ました。
ん?様、beagle様、ありがとうございました。
すでに解決されたようですが。。。
> >縦線はTQuickRepに直接貼り付け
> これが私には良くわからないです。
QRShapeの親が、QRBandではなく、QuickRep(QRフォーム?)です。
行としての縦罫線でなく、ページとしての縦罫線・・・説明むずい。
わかりにくいかもしれませんが、それぞれのバンドに罫線を貼り付けるのが
1)みなさん(?)の方法
┏━━━┳━━┳━━━━┳━┓
┃ ┃ ┃ ┃ ┃へっだー
┣━━━╋━━╋━━━━╋━┫
┃ ┃ ┃ ┃ ┃でぃているばんど
┣━━━┻━━┻━━━━┻━┫
┃ ┃
┃ TQuickRep ┃
┃ ┃
┃ ┃
┃ ┃
┗━━━━━━━━━━━━━┛
2)自分の方法
┏━━━━━━━━━━━━━┓
┃ ┃へっだー
┣━━━━━━━━━━━━━┫
┃ ┃でぃているばんど
┣━━━┳━━┳━━━━┳━┫
┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃
┗━━━┻━━┻━━━━┻━┛
設計時の見た目なのですが、バンドの後ろに縦罫線が隠れています。
実行結果
1)行データのある部分しか縦罫線が表示されない
┏━━━┳━━┳━━━━┳━┓
┃○○○┃△△┃□□□□┃×┃
┣━━━╋━━╋━━━━╋━┫
┃○×△┃△□┃○×△□┃×┃
┣━━━┻━━┻━━━━┻━┫
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┗━━━━━━━━━━━━━┛
2)横罫線だけが行データ分表示される。
┏━━━┳━━┳━━━━┳━┓
┃○○○┃△△┃□□□□┃×┃
┣━━━╋━━╋━━━━╋━┫
┃○×△┃△□┃○×△□┃×┃
┣━━━╋━━╋━━━━╋━┫
┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃
┗━━━┻━━┻━━━━┻━┛
> >行数がrecord数の罫線付の表
> に対応するためには、レコード数に応じて縦線の長さを変えなければ
> ならないのでは? という気がしますが。
気がするではなく、その通りです。
うちは、余白が気になる人が多くて、縦罫線はページ全体に入れる仕様なんです(^^ゞ
ツイート | ![]() |