首页 新闻 赞助 找找看

C# DateGridView日期列显示为 0001/01/01

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-28 19:06

DataGridView里有日期列,该日期列数据库里可以为null。

当为null时,DataGridView显示为0001/01/01。

怎么在DataGridView中不显示默认值?有值的正常显示,无值不显示。

最终的阿瓦隆的主页 最终的阿瓦隆 | 初学一级 | 园豆:111
提问于:2013-11-24 12:27
< >
分享
最佳答案
0

如果是DataTable直接绑定DataGridView,那么在绑定前把DataTable中的所有行中的日期列的“0001/01/01”设置为空。

如果是List<Model>绑定DataGridView,那么把日期那个属性设置为可空类型就可以了

收获园豆:10
junjieok | 小虾三级 |园豆:779 | 2013-11-24 12:53
其他回答(4)
0

column.CellStyle.NullValue = "";

 

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcellstyle%28v=vs.110%29.aspx

deerchao | 园豆:8367 (大侠五级) | 2013-11-24 13:06
0

顶二楼

平常心队长 | 园豆:1113 (小虾三级) | 2013-11-24 16:17
0

查出数据后绑定前做个判断,假如是把查询出的数据放到datatable里面,

if(dt.rows[0][0])="0001/01/01";(根据具体情况写) 

dt.rows[0][0]=" ";

然后再把dt绑定到datagridview上

lijunmomo | 园豆:34 (初学一级) | 2013-11-28 18:50
0

直接设置NullValue是不行的因为绑定的是List<Model>集合。导致DataGridView列是DateTime类型。NullValue不能设置为""字符串类型的。

但是架构上不让我改实体,所以不能将它设置为可为空的类型。我只能新建一个新实体将该列设置为string类型的。把实体从新倒进去。

最终的阿瓦隆 | 园豆:111 (初学一级) | 2013-11-28 19:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册