我遇到了一个奇怪的问题,可以用下面的2个单独的代码块来说明。
如果我使用第一个块,您可以清楚地看到第5列应用了货币格式。
使用第二个块,唯一的区别是字符串数组被添加到数据表中,然后用作数据源 - > 未应用格式设置!
任何人都可以解释这种行为并为我提供解决方法吗?我正在使用一个需要格式化的大型数据表。
谢谢!
第1区:
string[] list = new string[10];
for (int i = 0; i < 10; i++)
{
list[i] = i.ToString();
}
this.dataGridViewX1.DataSource = list;
this.dataGridViewX1[0, 5].Style.Format = "C2";
第2栏:
string[] list = new string[10];
for (int i = 0; i < 10; i++)
{
list[i] = i.ToString();
}
DataTable dt = new DataTable();
dt.Columns.Add();
for (int i = 0; i < list.Length; i++)
{
DataRow dr = dt.NewRow();
dr[0] = list[i];
dt.Rows.Add(dr);
}
this.dataGridViewX1.DataSource = dt;
this.dataGridViewX1[0, 5].Style.Format = "C2";
答案 0 :(得分:0)
First One使用数据表绑定。用反射器弄清楚那里会发生什么。
答案 1 :(得分:0)
您不需要设置DataColumn DataType吗?
DataColumn col1;
col1.DataType = Type.GetType("System.DateTime"); // or other type