5

カスタム テンプレートを使用して作成された kendoui グリッドから起動されたポップアップの追加および編集フォームにタイトルを設定する簡単な方法が見つからないようです。次の例を試したところ、追加操作と編集操作の両方で、ポップアップのタイトル バーに「編集」が表示されました。

マークアップ:

<script id="popup-editor" type="text/x-kendo-template">
  <p>
    <label>Name:<input name="name" /></label>
  </p>
  <p>
    <label>Age: <input data-role="numerictextbox" name="age" /></label>
  </p>
</script>
<div id="grid"></div>

JavaScript:

$("#grid").kendoGrid({
  columns: [
    { field: "name" },
    { field: "age" },
    { command: "edit" }
  ],
  dataSource: {
    data: [
      { id: 1, name: "Jane Doe", age: 30 },
      { id: 2, name: "John Doe", age: 33 }
    ],
    schema: {
      model: { id: "id" }
    }
  },
  editable: {
    mode: "popup",
    template: kendo.template($("#popup-editor").html())
  },
    toolbar: [{ name: 'create', text: 'Add' }]
});

問題を示すフィドル: http://jsfiddle.net/codeowl/XN5rM/1/

問題は、[追加] または [編集] ボタンを押すと、ポップアップのタイトル バーに "編集" と表示されることです。追加ボタンを押すと追加、編集ボタンを押すと編集と表示させたいです。

お時間をいただきありがとうございます。

よろしく、

スコット

4

2 に答える 2

9

簡単な解決策が必要な場合は、グリッドの編集イベントにコードを追加して、編集が呼び出されたときに作成されるモデルが新しいモデルか既存のモデルかを確認し、それに応じてテキストを設定します。

...

edit: function (e) {
   //add a title
   if (e.model.isNew()) {
       $(".k-window-title").text("Add");
   } else {
       $(".k-window-title").text("Edit");
   }
}

...

お役に立てれば...

于 2013-10-15T10:26:56.720 に答える
3

タイトルを追加するだけでよい場合は、次を使用する必要があります。

editable  : {
    mode : "popup",
    window : {
        title: "Edición",
    }
},

他に何かを定義する必要がない限り、テンプレートを定義する必要はありません。

ここで修正されたフィドル: http://jsfiddle.net/OnaBai/XN5rM/2/

于 2013-10-15T07:46:31.483 に答える