4

テンプレートを使用する剣道ドロップダウンリストを使用しようとしています。ユーザーがデータセットを選択できるページと、そのデータセットに値を入力するドロップダウンがあります。私のドロップダウンのほとんどはテンプレートを使用していませんが、適切に機能していないドロップダウンはテンプレートを使用しています。

私のテンプレート:

<script type="text/x-kendo-tmpl" id="dropdownTemplate">
  <div>
    <p><strong>#= Name #</strong></p>
    <p>#= Description #</p>
  </div>
</script>

私のドロップダウン定義:

$("#listTemplates").kendoDropDownList({
 dataTextField: "Name",
 dataValueField: "ChartTemplateId",
 template: kendo.template($("#dropdownTemplate").html()),
 change: listTemplatesChange
});

ドロップダウンへの入力方法:

 portalTemplatesModel = [
 [{
   Name: "Test",
   Description: "Long Description",
   ChartTemplateId: "1"
 }],
 [{
   Name: "Test2",
   Description: "Long Description2",
   ChartTemplateId: "2"
 }]
 ]
 for (i = 0; i < portalTemplatesModel.length; i++) {

   $("#listTemplates").data("kendoDropDownList").dataSource.add(portalTemplatesModel[i]);
 }

私のセッター:

var ddTemplates = $("#listTemplates").data("kendoDropDownList");
 ddTemplates.select(function (dataItem) {
 return dataItem.value === placeHolderChart.ChartTemplateId;
});

dataItem は次のようになります。

 [{
   Name: "Test",
   Description: "Long Description",
   ChartTemplateId: "1"
 }]

セッターのドキュメントで、値または項目のいずれかを使用することになっていることに気付きました。ただし、私が使用しているデータセットでは、テンプレートを使用しない他のドロップダウンのように、値やテキストを含まない別のオブジェクトを使用しているようです。

前もって感謝します!

4

2 に答える 2

2

同様の問題がありました。うまくいったように見えたのは、データを追加することでした。データソース値への呼び出しの前。すなわち #=data.Description #

于 2013-05-23T12:26:39.217 に答える
0

kendoTemplate に ${Name} と ${Description} を指定することでデータを入力できます。データ ソースが読み取られると、テンプレートが値を取得し、テンプレートに従って表示できます。

于 2013-06-06T08:17:16.523 に答える