22

嗨,我有一个如下所示的剑道网格,我想检查列的空值,并根据条件我想在列中显示一些默认数字

这是我的示例代码。

 $("#eCount").kendoGrid({
        dataSource: {
            data: myModel,
            pageSize: 5
},      
 columns: [
            {
                field: "Count",
                title: "Count",
                template: '# if (Count == "null" ) {#1#} else {#Count#}#'
            }]
});

但我不知道如何完成它。有什么解决办法吗?

4

3 回答 3

47

如果格式,您可以使用 Javascripts 内联

#= street2 != null ? street2 : '' #
于 2014-02-12T21:50:14.357 回答
18

我发现这是最有用的:

#= typeof street2 == "undefined" || street2 == null ? "" : street2 #

当以编程方式将行添加到网格的数据源并且未指定字段的值时,该typeof检查可能很有用street2

grid.dataSource.add({}); //this line will generate an error when you're not using 'typeof' check

也与您的问题有关,对于更复杂的场景,我还发现使用 进行模板内的其他检查很有用data.xxx,如下所示:

# if (data.street2 && data.street2.length) { #
    <span>#: street2 # </span>
# } else { #
    <span>N/A</span>
# } #
于 2015-04-08T15:14:43.070 回答
1
var dataSource = new kendo.data.DataSource({
    transport: {
    ...
    },
    schema: {
        model: {

            myCount: function () {
                return this.get("Count") == null ? 1 : this.get("Count");
            }
        }
    }

<script id="template">
        #=myCount()#
</script>

或者,如果您不使用数据源,也可以这样做。

<script id="template">
    # var count = data.Count || 1; # // Javascript  #   #
    <span>#=count#</span>            // Binding  #=   #
</script>
于 2015-01-23T05:43:44.773 回答