有没有一种简单的方法可以在 DataGridView
的 DataGridViewTextBoxColumn
中显示表示 TimeSpan
字段的格式化字符串?
我有一组自定义对象(由 Web 服务返回),我将其绑定(bind)到我的数据网格。这些对象有一个 TimeSpan 属性。当我将此属性绑定(bind)到数据网格的列时,我获取对象名称(类似于 MyApplication.MyClass.TimeSpan ),而不是时间跨度字符串。
如何解决?
注意:
最后我发现我的问题是我从网络服务获取对象数组。
看来 TimeSpan
类型无法进行 xml 序列化,因此系统类重新分类为自定义对象:
最佳答案
在对象中创建一个只读字符串属性,该属性将表示格式化的 TimeSpan。像这样的东西:
public class MyObject
{
private TimeSpan _myTimeSpan;
// ...
public string TimeSpanFormatted
{
get
{
return _myTimeSpan.ToString("c");
}
}
// ...
}
然后为此属性添加一列并隐藏“原始”TimeSpan 列。
参见here for TimeSpan formatting info .
注意:对于列的属性,请务必将 DataMember 设置为 TimeSpanFormatted
关于c# - 将 TimeSpan 绑定(bind)到 DataGridView 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332723/