在Kendo网格中显示日期时间字段的空单元格值?

4
我正在使用 Kendo Grid,其中我添加了一个 DateTime 类型的列,显示日期时间。
我面临的问题是,如果没有设置日期,则默认情况下会显示 null 值。
我希望的是,如果没有设置日期,则应显示空单元格值,而不是 null。
我正在使用 kendo 的版本为 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");

我会感激任何人能帮助我解决我的问题。
3个回答

9

我尝试使用kendo.tostring的以下方法:

columns.Bound(o => o.Time).ClientTemplate("#= (Time == null) ? ' ' : kendo.toString(Time, 'MM/dd/yyyy HH:mm:ss') #").Title("Time");

通过应用上述代码,我的问题得到了解决,但是由于这个筛选器在Kendo网格中停止工作。我希望即使网格中的日期时间字段没有设置日期时间,筛选器也能正常工作。


对于不能为 null 的日期,请使用 (Time) 检查,而不是 (Time == null)。 - Jeff

2
 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;
}

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>

我认为这不会起作用,因为无法以这种方式将日期时间转换为字符串。 - Nitin Varpe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接