【解決方法】データグリッドビューの列に NULL の可能性がある 2 桁

プログラミングQA


コードごとにデータグリッドを埋めていきます。
コードまたはデザイナーで形式「N2」を設定しても、違いはありません。
問題は、この列にも NULL があることのようです。
NULLの場合は表示せず、NULL以外の場合は2桁の値を表示したいと考えています。
これは可能でしょうか?

CDdec、Math.round を使用しようとすると、NULL によるエラーが発生して適合しません。

私が試したこと:

dgvProduktion.Rows.Add(..., dreader("AZmin").ToString() ,...)

CDec と Math.round は NULL では機能しません

解決策 1

null 条件演算子を追加します。 メンバー アクセスと null 条件の演算子および式: | Microsoft Learn[^]

C#
dgvProduktion.Rows.Add(..., dreader("AZmin")?.ToString() ,...)

解決策 2

書式設定を処理するメソッドでデータをラップします。

たとえば、次のように変更します。

C#
dreader("AZmin").ToString()

に:

C#
Function FormatData(value As Double?) As String

    If value Is Nothing Then
        Return ""
    End If

    Return value.ToString()

End Function

どこ value_type フィールド値のタイプです。例: doublefloatdecimal、など…

次に使用するには:

VB
dgvProduktion.Rows.Add(..., FormatData(dreader("AZmin")) ,...)

コメント

タイトルとURLをコピーしました