17

剣道グリッドのイベントを使用してedit、いくつかの非表示の列を表示しています。その後、イベントでそれらを再び非表示にしますsave

私が抱えている問題は、編集モードをキャンセルするイベントがないように見えるため、ユーザーが[キャンセル]をクリックすると列がめちゃくちゃになることです。

キャンセルするための文書化されていないイベントがありますか、それとも回避策を見つける必要がありますか?

4

4 に答える 4

20

基本的に「キャンセル」イベントはありませんが、グリッドの編集イベントに「キャンセル」ボタンのクリックイベントを付けることができます。以下の例を確認してください。

function onEdit(e) {
   e.container.find(".k-grid-cancel").bind("click", function () {
      //your code here
   })
 }

編集:グリッドには、上記のソリューションの代わりに使用できる「キャンセル」イベントがあります。

于 2013-01-24T11:36:36.490 に答える
17

同じ質問に対する答えを探していましたが、これはうまくいきませんでした。グリッド内の新規および編集されたレコードがコントローラー内で検証され、エラー メッセージが ModelState の ModelError コレクションに追加されるというシナリオがありました。グリッドのデータソース エラー イベントをフックして、アラート内にエラー メッセージを表示し、変更をリセットする以下を追加しました。

$('#MyGrid').data("kendoGrid").cancelChanges();

ページングを使用していて、ユーザーが表示している現在のページが保持されるため、これは私にとっては素晴らしい解決策でした。

于 2013-09-27T09:26:55.437 に答える
0

これを試して、

$("#grid").kendoGrid({
 columns: [
  { field: "name" },
  { field: "age" }
 ],
 dataSource: [
  { name: "Jane Doe", age: 30 },
  { name: "John Doe", age: 33 }
 ],
 dataBound: function(e) {
  $("#grid").on("mousedown", ".k-grid-cancel-changes", function (e) {
    //custom logic
  });
 }
});

dataBound で、剣道グリッド ツールバーのキャンセル ボタンのクリック イベントを配線します。それが動作します。

于 2018-07-26T10:45:04.767 に答える