罫線とデータの折り返しが含まれる帳票-「折り返し表示」
項目を折り返し表示する
TextBoxコントロールで指定した領域内で文字列を折り返して表示するには、MultiLineプロパティおよびWordWrapプロパティを使用します。また、コントロールの高さを自動的に拡張するためには、CanGrowプロパティを設定します。
プロパティ | 設定内容 |
MultiLineプロパティ | 複数の行を表示するかどうか |
WordWrapプロパティ | 複数行表示するときに、必要に応じて自動的に折り返すかどうか |
CanGrowプロパティ | 内容に合わせて、コントロールの高さを拡大するかどうか |
上段はコントロールをもともと広くとったもの、中段はコントロールを狭くしたもの、下段はCanGrowプロパティをFalseに設定し、コントロールの高さが変わらないように設定したものです。
private void detail_Format(object sender, EventArgs e) { textBox1.Text = "@@@@@MMMMM"; }
Private Sub Detail_Format( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Detail.Format TextBox1.Text = "@@@@@MMMMM" End Sub
また、途中で改行文字(\n)を入れたTextを表示させると以下のようになります。
private void detail_Format(object sender, EventArgs e) { textBox1.Text = "@@@@@\nMMMMM"; }
Private Sub Detail_Format( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Detail.Format TextBox1.Text = "@@@@@\nMMMMM" End Sub
コントロールを折り返し表示する場合は、
- CanGrowプロパティ=True
- MultiLineプロパティ=True
- WordWrapプロパティ=True
のように設定するのがベストでしょう。ActiveReportsではこの設定がデフォルト(規定値)になっています。コントロール内で文字列を折り返さない場合や、コントロールのサイズを動的に拡張しない場合は、これらのプロパティの値を必要に応じて変更するようにしてください。
折り返した際の周囲のレイアウトについて
ActiveReportsの場合、コントロールが折り返して伸びたときはBeforePrintイベントで自動的に下のコントロールの位置が調節されます。上に配置したコントロールが折り返すと、下のコントロールはすべて位置が変わります。
![単純な折り返しサンプル(レイアウト) 単純な折り返しサンプル(レイアウト)](http://cz-cdn.shoeisha.jp/static/images/article/1845/1845_09.jpg)
![単純な折り返しサンプル(表示) 単純な折り返しサンプル(表示)](http://cz-cdn.shoeisha.jp/static/images/article/1845/1845_10.gif)
ただし、上と下のコントロールが重なっていた場合は、自動調整は行われません。
![重なっている折り返しサンプル(レイアウト) 重なっている折り返しサンプル(レイアウト)](http://cz-cdn.shoeisha.jp/static/images/article/1845/1845_11.jpg)
![重なっている折り返しサンプル(表示) 重なっている折り返しサンプル(表示)](http://cz-cdn.shoeisha.jp/static/images/article/1845/1845_12.gif)
また、以下の縦線のように2つのコントロールを横断するコントロールがあると、自動調整は行われません。
![縦線折り返しサンプル(レイアウト) 縦線折り返しサンプル(レイアウト)](http://cz-cdn.shoeisha.jp/static/images/article/1845/1845_13.jpg)
![縦線折り返しサンプル(表示) 縦線折り返しサンプル(表示)](http://cz-cdn.shoeisha.jp/static/images/article/1845/1845_14.gif)