こんにちは私は以下のような剣道グリッドを持っています。列のnull値を確認し、条件に基づいて列にデフォルトの数値を表示したいのですが
これが私のサンプルコードです。
$("#eCount").kendoGrid({
dataSource: {
data: myModel,
pageSize: 5
},
columns: [
{
field: "Count",
title: "Count",
template: '# if (Count == "null" ) {#1#} else {#Count#}#'
}]
});
しかし、私はそれを成し遂げる方法を取得していません。解決策はありますか?
フォーマットの場合、JavaScriptをインラインで使用できます
#= street2 != null ? street2 : '' #
私はこれが最も便利であることを発見しました:
#= 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>
# } #
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>