Birt で動的テキストを使用しています。1行で文章を表示したいのですが、幅が広すぎると2行以上で表示されてしまいます。文が幅が広すぎて 1 行に収まらない場合に、フォント サイズを動的に小さくする方法はありますか?
ご協力ありがとうございました。
Birt で動的テキストを使用しています。1行で文章を表示したいのですが、幅が広すぎると2行以上で表示されてしまいます。文が幅が広すぎて 1 行に収まらない場合に、フォント サイズを動的に小さくする方法はありますか?
ご協力ありがとうございました。
最初にセルを選択し、スクリプトタブをクリックして、ドロップダウンから onRender を選択し、このコード
this.getStyle().fontSizeを配置します。 これにより、ページのレンダリング中にフォントサイズを動的に変更できます...
乾杯..
これが私の解決策です-@Sundarが言ったことに基づいています。
私の場合、1 つのセルに 2 つのフィールドがあります。完璧ではありませんが、テキストが「大きすぎる」場合を知る必要がある唯一の方法は、結合された文字列の長さを測定し、それに応じてフォントサイズを調整することです.
セルをクリックしてからスクリプトタブをクリックし、onRender スクリプトに次のようなコードを入力します
// Decide if we need to change font size.
totalLength = 0;
if (row["Field Name 1"]) {
totalLength += row["Field Name 1"].length;
}
if (row["Field Name 2"]) {
totalLength += row["Field Name 2"].length;
}
// Make the font smaller with larger amounts of text.
switch (true) {
case (totalLength > 200):
this.getStyle().fontSize = "6pt";
break;
case (totalLength > 100 && totalLength < 200):
this.getStyle().fontSize = "8pt";
break;
default:
this.getStyle().fontSize = "10pt";
break;
}