0

Datagridview セルの書式設定に問題があります。以下にサンプルコードを追加しています。これについて多くのパーセンテージ形式を試しましたが、もう機能していません。どこが問題なのですか?

private void button1_Click(object sender, EventArgs e)
{
        DataTable tb = new DataTable();
        DataRow row = tb.NewRow();
        tb.Rows.Add(row);
        tb.Columns.Add("Column1");
        tb.Rows[0][0] = "45";

        dataGridView1.DataSource = tb;
        dataGridView1.Columns[0].DefaultCellStyle.Format = "#.000\\%";
}
4

1 に答える 1

0

"0""#"指定子の両方がカスタムの数値書式文字列であるためです。あなた"45"はであるため、書式設定はまったくstringありません。

解決策として、最初の列の値を次のような数値として指定します。

tb.Rows[0][0] = 45;

その後、すべての最初の列の値を浮動小数点除算100.0として除算します (たとえば、取得します)。0.45

foreach (DataRow row in tb.Rows)
{
   row[0] = (int)row[0] / 100.0;
}

カスタム指定子を使用して、次"%"ようにフォーマットします。

dataGridView1.Columns[0].DefaultCellStyle.Format = "#%";

この%指定子は100すでに. %_ _CurrentCulture %PercentSymbol

例えば;

Console.WriteLine((0.45).ToString("#%")); // prints 45%
于 2016-02-25T15:12:52.780 に答える