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 回答