Javascript 在剑道网格中处理空值

Javascript 在剑道网格中处理空值,javascript,html,kendo-ui,kendo-grid,Javascript,Html,Kendo Ui,Kendo Grid,我有一个剑道网格,其中一列可以有空值。但是当有空值时,我看不到网格填充。我的代码在这里: $(document).ready(function() { $("#grid").kendoGrid({ dataSource: gridData, columns: [{ field: "name", title: "Name" }, { field: "result",

我有一个剑道网格,其中一列可以有空值。但是当有空值时,我看不到网格填充。我的代码在这里:

$(document).ready(function() {
    $("#grid").kendoGrid({
        dataSource: gridData,
        columns: [{
            field: "name",
            title: "Name"
        }, {
            field: "result",
            title: "Result",
            template: "# if (result == null) { #" +
                "<span data-content=' '></span> } #" +
                "# } else { #" +
                "<span data-content=\"#: result#\"> </span>"
        }]
    });
});
$(文档).ready(函数(){
$(“#网格”).kendoGrid({
数据源:gridData,
栏目:[{
字段:“名称”,
标题:“姓名”
}, {
字段:“结果”,
标题:“结果”,
模板:“#如果(结果==null){#”+
" } #" +
“}否则{”+
" "
}]
});
});

有谁能帮我解决这个问题。

我不确定你是否真的需要自己设置
数据内容
。。。如果只想设置空字符串而不是空值,可以使用更简单的模板:

$(document).ready(function() {
    $("#grid").kendoGrid({
        dataSource: gridData,
        columns: [{
            field: "name",
            title: "Name"
        }, {
            field: "result",
            title: "Result",
            template: "#= (result == null) ? ' ' : result #"
        }]
    });
});

为了便于控制/可读,您可以这样做

$(document).ready(function() {
    $("#grid").kendoGrid({
        dataSource: gridData,
        columns: [{
            field: "name",
            title: "Name"
        }, {
            title: "Result",
            template: function (dataItem) {
                if (dataItem.result == null)
                    return 'Placeholder';
                else
                    return dataItem.result;
            }
        }]
    });
});

就个人而言,我不喜欢剑道插值“#”,当模板中有更多的逻辑时,很难阅读,这可能会导致更多的插值“#”。使代码不可读,因为起点和终点都使用了“#”。

我尝试了相同的方法。但是它说“结果未定义”,并且网格还没有显示出来。啊!好的,我以为你指的是这个专栏的数据。您能告诉我们如何获取
gridData
吗?您能在到达
kendoGrid
初始化时检查它是否已定义吗?我正在使用post调用获取数据。数据源是这样的:没有模板,它可以正常工作。但当我使用模板时就不是了。