为什么我不能在DataGrid Value上使用格式说明符?

时间:2013-04-19 21:22:25

标签: c# winforms datagridview tostring

string Foo = selectedrow.Cells["Foo"].Value.ToString("D5"); 

给我错误

No overload for method 'ToString' takes 1 arguments

所以我不得不使用

string Foo = selectedrow.Cells["Foo"].Value.ToString().PadLeft(5,'0');

任何可以解释原因的人?

2 个答案:

答案 0 :(得分:0)

DataGridViewCell.Value的类型为System.ObjectObject.ToString()方法不带任何参数。因此,您无法提供格式说明符。

答案 1 :(得分:0)

如果您事先知道DataType,则需要先输出Value,然后才能使用您正在寻找的ToString方法:

string dateTime = ((DateTime)(selectedrow.Cells["Today"].Value)).ToString("dd/MM/yyyy");
string number = ((decimal)(selectedrow.Cells["Price"].Value)).ToString("N2");