ActiveReportsで TextBoxコントロールの CanGrow/CanShrinkプロパティを使うと、そのコントロールの Textに設定した値に合わせて TextBoxコントロールの高さを自動調整してくれます。
自動調整が行われるのは Run()メソッドが実行されたタイミングですが、Run()メソッドは1回だけ実行するものという先入観を捨て、下記 ActiveReportsの癖を把握しておかないとハマります。
1、CanGrow/CanShrinkプロパティを設定すると、コントロールの高さが内容に応じて自動的に調整されます。しかし、このプロパティによって影響を受けるのはそのコントロール自身の高さだけで、上下にあるコントロールの位置は調整されません。
2、CanGrow/CanShrinkを使用し、下にあるコントロールの位置を適切に調整するためには、コードで下にあるコントロールのTop値を変更する必要があります。
3、CanGrowおよびCanShrinkが実行されるタイミングは、レポートのRun()メソッドが実行された時です。イベントハンドラ内でCanGrowおよびCanShrink後の Heightを取得することはできません。
4、CanGrow/CanShrinkを使用し、下にあるコントールのTop値(上下位置)を調整する場合、コントロールの Textプロパティに値を設定した後、一度 ActiveReportsの Run()メソッドを実行し、コードでCanGrowおよびCanShrinkが行われた後の高さから他のコントロールのTop値を調整し、再度 ActiveReportsの Run()メソッドを実行しレポートを生成することで、CanGrow/CanShrinkと他コントロールの上下位置を連動させることができます。
関連記事
GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v1
GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v2
GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v3
GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v4
GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v5
GrapeCity ActiveReport よく使う機能
GrapeCity.ActiveReports.SectionReportの CanGrow/CanShrinkプロパティを使う場合
ActiveReports開発でデザイナが「値を Null にすることはできません。パラメーター名:instance」エラーになる場合
コメント