web-dev-qa-db-ja.com

剣道テンプレートを使用してnull値を確認する方法

こんにちは私は以下のような剣道グリッドを持っています。列のnull値を確認し、条件に基づいて列にデフォルトの数値を表示したいのですが

これが私のサンプルコードです。

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

しかし、私はそれを成し遂げる方法を取得していません。解決策はありますか?

22
jestges

フォーマットの場合、JavaScriptをインラインで使用できます

#= street2 != null ? street2 : '' #
45
vordimous

私はこれが最も便利であることを発見しました:

#= 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>
# } #
18
Lucian
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>
1
jwize