web-dev-qa-db-ja.com

条件付き剣道グリッドクライアントテンプレート

 columns.Bound(p => p.Active).ClientTemplate("\\#if('#=Active#'=='Y') {\\<input type='button' value='OK' />\\}\\#").Width(150).Title("Status");

しかし、条件は文字列として扱われますか?

#if('Y'=='Y')`enter code here` {
<input type="button" value="OK">
}#  
9
user2720297

Kendoテンプレートでハッシュ構文を使用する方法は3つあります。

  1. リテラル値をレンダリングします:_#= #_
  2. HTMLで生成された値をレンダリングします:_#: #_
  3. 任意のJavaScriptコードを実行します:# if(...){# ... #}#

したがって、コードには次のように記述する必要があります。

_columns.Bound(p => p.Active).ClientTemplate(
     "#if(Active=='Y') {#
        <input type="button" value="OK">
      #}#").Width(150).Title("Status");
_

サンプルでは、​​_#_記号がinsideコードとoutsideコードをどのように分離しているかに注目してください。コード内にいるときは、変数にアクセスするために_#_を再度使用する必要はありません。そのため、以前は_#_がなくてもActiveを使用できます。

27
Ohlin

これを試して、

 columns.Bound(p => p.Active).ClientTemplate(
                "# if (IsServiceExist) { #" +
                    "<input type='button' value='OK' />"+
                "# }#").Width(150).Title("Status");
6
Jaimin

私はあなたが解決策を得ることを願っています....

columns.Bound(p => p.IsActive)
    .ClientTemplate(
        "\\# if (IsActive != false) { \\#" +
            "\\<input type=\"checkbox\" id=\"checkBox\" class=\"parentCheckBox\" window-call=\"template\" checked/>\\" +
        "\\# } else { \\#" + 
            "\\<input type=\"checkbox\" id=\"checkBox\" class=\"parentCheckBox\" window-call=\"template\" />\\" + 
        "#\\ } \\#")
    .Width(10);
3
Bhavsar Jay

Kendoテンプレートでデータ値をレンダリングするには、以下をガイドとして使用できます。

columns.Template(@<text></text>)
    .ClientTemplate("#if (Field3 == true) {#"
    + "<a onclick='jsFoo(#=Id#)' href='\\#'></a> "
    + "#} #").Width(70).Title("ColA");
2
callisto