0


0

DataGridViewの10進値の書式設定:コーシャーの方法

DataGridViewで小数値を表示する必要があります

        if (dgvClients.SelectedRows.Count != 0)
        {
            DataGridViewRow row = dgvClients.SelectedRows[0];

            row.Cells["NetAccountValue"].Value = info.DecimalValue;
        }

小数点記号の後に指定された桁まで値をフォーマットする必要があります。

問題は、私の場合、セルの「値」プロパティに10進数への参照が格納されていることです。 表示されるとき、decimal.ToString()が呼び出され、デフォルトのdecimal.ToString()は、多くの桁のフォーマットされていない文字列を生成します。

1つの方法は、文字列を作成し、String.FormatString()を使用して必要な書式設定を達成し、10進数ではなくValueを供給することです。

他の方法はありますか?

2 Answer


1


コードを使用して、http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.defaultcellstyle.aspx [DataGridView.DefaultCellStyle property]を設定できます。

これは、デザイナーで次の方法でも実行できます。

  1. DGVを右クリックして、[列の編集]を選択します。 編集列 ダイアログが表示されます。

  2. ダイアログの左側で列を選択し、をクリックします CellStyle Builderを表示するDefaultCellStyleプロパティフィールド。

  3. 「ビルダー」ダイアログで、「フォーマット」をクリックして、フォーマット文字列を表示します ダイアログ。

  4. このダイアログで選択を行います(数値タイプを選択すると、 表示する小数の数を指定します)、変更を保存します。


0


私はこの解決策を簡単に見つけました。 -db列タイプはMoneyまたはnumber、double、singleでなければなりません。 -datagridviewイベント「CellFormatting」を以下のコードとして更新します。

private void dataGridView2_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
   {
       if (this.dataGridView2.Columns[e.ColumnIndex].Name == "Aidat")
       {
          string deger=(string)e.Value;
          deger = String.Format("{0:0.00}", deger);
       }
   }