4

Crystal レポートでは、それに応じてフィールドの配置を設定したいと考えています。実行時に同じことを行うにはどうすればよいですか?


それはいいですね。これは機能しています。ありがとうございます。私も同じことをしました。コードを以下に示します。

var fo = rpt.ReportDefinition.ReportObjects["InvoiceComment"];
fo.ObjectFormat.HorizontalAlignment = Alignment.LeftAlign;
if (ds.Tables[0].Rows[0].ItemArray[19].ToString() == "Right")
    fo.ObjectFormat.HorizontalAlignment = Alignment.RightAlign;
else
    if (ds.Tables[0].Rows[0].ItemArray[19].ToString() == "Center")
        fo.ObjectFormat.HorizontalAlignment  = Alignment.HorizontalCenterAlign;`  

しかし、私は今、別の問題に直面しています。

FieldObject fo = rpt.ReportDefinition.ReportObjects["InvoiceComment"] as FieldObject;                       

また

var fo = rpt.ReportDefinition.ReportObjects["InvCom"];

「インデックスが配列の範囲外でした」という同じエラーが表示されています。その代わりに別のコードを使用すると、機能します。

FieldObject fo = rpt.ReportDefinition.ReportObjects[35] as FieldObject;                                                       

これをどのように負担するか。前もって感謝します。

4

3 に答える 3

2

フィールドの水平方向の配置を変更するには、以下の手順に従います。

1) フィールドを右クリックします。

2) [フォーマット フィールド オプション] をクリックします。

3) 共通タブを選択します。

4) Horizo​​ntal Alignment の前にある数式エディタをクリックし、必要な設定を追加します。

5) 利用可能な整列定数は次のとおりです。

絶え間ない

crDefaultHorAligned           

crLeftAligned                 

crRightAligned                

crCenteredHorizontally        

crJustified  

あなたの基準に従ってそれを使用してください。

于 2012-06-29T11:25:20.307 に答える
1

C# で:

var field = report.ReportDefinition.ReportObjects["Description1"];
field.ObjectFormat.HorizontalAlignment = Alignment.Justified;

可能な選択肢:

namespace CrystalDecisions.Shared
{
    public enum Alignment
    {
        DefaultAlign,
        LeftAlign,
        HorizontalCenterAlign,
        RightAlign,
        Justified,
        Decimal,
    }
}
于 2012-06-29T17:03:47.183 に答える
-1

テキスト解釈 = RTF テキストを使用し、値をリッチテキスト形式で設定したところ、問題は解決しました... RTF を使用して動的に優れた Crystal レポートを設計しました。

于 2015-09-01T11:37:58.833 に答える