我正在使用kendo网格,我在其中添加了一个显示日期时间的DateTime类型列。
我面临的问题是,如果他们没有设置日期,那么默认显示null
值。
我想要的是,如果没有设置日期,那么它应该显示空白单元格值而不是空。
我使用的是2012.2.710.340
版本的剑道。
以下列方式在类中声明字段值:
public DateTime? Time { get; set; }
以下是我在kendo网格中用于在网格中显示日期时间字段的格式:
columns.Bound(o => o.Time).Format("{0:MM/dd/yyyy HH:mm:ss}").Title("Time");
如果有人能帮我解决问题,我将感激不尽。
答案 0 :(得分:6)
我尝试过以下方式使用kendo.tostring:
columns.Bound(o => o.Time).ClientTemplate("#= (Time == null) ? ' ' : kendo.toString(Time, 'MM/dd/yyyy HH:mm:ss') #").Title("Time");
通过应用上面的代码,我的问题得到了解决,但由于kendo网格中的这个过滤器停止工作。如果没有设置datetime,我希望过滤器应该工作,尽管网格中的datetime字段有空白值。
答案 1 :(得分:2)
试试这个
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>
答案 2 :(得分:0)
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;
}