12332


.NET 初心者です。  
クリスタルレポートの IFieldObject を小数以下第2位で四捨五入して表示したいのですが、どこで設定するのかわかりません。  
教えてください。よろしくお願いいたします。


CC BY-SA 3.0
2015-07-13T22:58:45.987
12329
2015-07-14T03:43:01.713
9674
question
vb.net
クリスタルレポートの書式設定の仕方


レポートデザイナでIFieldObjectを選択し、プロパティウィンドウで`RoundingType`プロパティを`crRoundToTenth`(十分の1)にします。  
ついでに表示される小数点以下の桁数を変更する場合は`DecimalPlaces`プロパティで変更できます。

コードで変更する場合は以下のようにできます。

[code]

    Private Sub CrystalReport1_InitReport(sender As Object, e As EventArgs) Handles CrystalReport1.InitReport
        Dim report As ReportClass = CType(sender, ReportClass)
        For Each sec As Section In report.ReportDefinition.Sections
            For Each ro As ReportObject In sec.ReportObjects
                If (ro.Kind = ReportObjectKind.FieldObject) Then
                    Dim field As FieldObject = CType(ro, FieldObject)
                    If (field.DataSource.ValueType = FieldValueType.NumberField) Then
                        field.FieldFormat.NumericFormat.DecimalPlaces = 1
                        field.FieldFormat.NumericFormat.RoundingFormat = RoundingFormat.RoundToTenth
                    End If
                End If
            Next
        Next
    End Sub
    
[/code]


CC BY-SA 3.0
2015-07-14T03:43:01.713
12332
2015-07-14T03:43:01.713
4926
12329
answer