Asp.net mvc 3 是否在剑道网格中显示datetime字段的空单元格值?
我正在使用剑道网格,我在其中添加了一列DateTime类型,显示DateTime 我面临的问题是,如果没有设置日期,那么默认情况下,它显示的是Asp.net mvc 3 是否在剑道网格中显示datetime字段的空单元格值?,asp.net-mvc-3,datetime,kendo-grid,Asp.net Mvc 3,Datetime,Kendo Grid,我正在使用剑道网格,我在其中添加了一列DateTime类型,显示DateTime 我面临的问题是,如果没有设置日期,那么默认情况下,它显示的是null值 我想要的是,如果没有设置日期,那么它应该显示空白单元格值,而不是null 我正在使用剑道的2012.2.710.340版本 已按以下方式在类中声明字段值: public DateTime? Time { get; set; } 以下是我在剑道网格中用于在网格中显示日期时间字段的格式: columns.Bound(o => o.Time)
null
值
我想要的是,如果没有设置日期,那么它应该显示空白单元格值,而不是null
我正在使用剑道的2012.2.710.340
版本
已按以下方式在类中声明字段值:
public DateTime? Time { get; set; }
以下是我在剑道网格中用于在网格中显示日期时间字段的格式:
columns.Bound(o => o.Time).Format("{0:MM/dd/yyyy HH:mm:ss}").Title("Time");
如果有人能帮我解决问题,我将不胜感激。试试这个
columns.Bound(o => string.IsNullOrWhiteSpace(o.Time)?string.Empty:o.Time).Format("{0:MM/dd/yyyy HH:mm:ss}").Title("Time");
或者使用列模板呈现日期
<script type="text/x-kendo-template" id="TimeTemplate">
# var date = time === null ? '': time ;#
#=date#
</script>
#变量日期=时间===null?“”:时间#
#=日期#
我尝试过以下方式使用kendo.tostring:
columns.Bound(o => o.Time).ClientTemplate("#= (Time == null) ? ' ' : kendo.toString(Time, 'MM/dd/yyyy HH:mm:ss') #").Title("Time");
通过应用上面的代码,我的问题得到了解决,但由于剑道网格中的过滤器停止工作。我希望过滤器能够正常工作,但如果未设置datetime,则网格中的datetime字段的值为空。我认为这不起作用,因为我无法将datetime转换为字符串对于不能为空的日期,请使用(Time)检查而不是(Time==null)
columns.Bound(r => r.AssignedDate).ClientTemplate("#= AssignedDateFormat(data) #").Title("Assigned Dt").Width("40px");
function AssignedDateFormat(param) {
var html;
if (param.AssignedDate == null) {
html = "";
}
else {
html = kendo.toString(param.AssignedDate, 'MM/dd/yyyy');
}
return html;
}