$$$$$$$$$关于DataFormatString的问题$$$$$$$$$
我的GridView是通过OblectDataSource直接绑定的,这带给了我很多麻烦
其中有个问题是这样的,我的ObjectDataSrouce拿到的某一个字段FDate, 再从数据库取出来的时候很多都是null值,我只得把这些null转换成DateTime.MixValue付值给Object,这显然是一个很蹩脚的做法,但是我还没有想到更好的
所以我的GridView就会接收了一些很奇怪的日期0001-1-1 0:00:00。。。。
所以我不知道DataFormatString这个东东有没有办法把这些MinValue直接转化成""空字符串显示在列表里面?
请各位高手帮忙看看
或者下面这句话如何能修改下?返回值必须是DateTime类型的
DateTime FDDate=(System.DateTime)((sdr["FDDate"] == DBNull.Value) ? DateTime.MinValue : sdr["FDDate"]);
总结成一句话就是,如何把数据库里面的空日期类型显示在GridView里面(我的程序结构返回类型等不能作改动)
------解决方案--------------------DateTime FDDate=(System.DateTime)((sdr["FDDate"] == DBNull.Value) ? DateTime.MinValue : sdr["FDDate"]);
==============
既然必须得转换成date类型,为什么还要让它有null值,实在不解??
------解决方案--------------------DateTime FDDate=(System.DateTime)((sdr["FDDate"] == DBNull.Value) ? DateTime.MinValue : sdr["FDDate"]);
------
string FdDate==((sdr["FDDate"] == DBNull.Value) ? "" : sdr["FDDate"].ToString);
------解决方案--------------------试试:
C# code
DateTime? FDDate = sdr["FDDate"] is DBNull ? null : (DateTime)sdr["FDDate"];
------解决方案--------------------
在编辑列里面。把你不想显示空值的那个字段的convertEmptyStringToNull 属性改为 true
------解决方案--------------------
Re 3:
DateTime? FDDate
这个问号是做啥的?能不能解释得清楚点谢谢
========
查 三元运算符
------解决方案--------------------
楼主用的是.net 2.0吗?你可以用Nullable<DateTime>,也就是楼上说的 DateTime? 类型来保存日期,这就不会有你那样的问题了。关于Nullable请看这里:
http://msdn.microsoft.com/en-us/library/1t3y8s4s(VS.80).aspx
------解决方案--------------------
那就试试:
C# code
DateTime? FDDate = null;
if (sdr["FDDate"] is DateTime) FDDate = (DateTime)sdr["FDDate"];
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------