2013-01-24 20 views
13

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

問題編集モードをキャンセルするイベントが表示されないため、ユーザーがキャンセルをクリックすると列が不正になることがあります。

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

答えて

18

基本的にこのような「キャンセル」イベントはありませんが、グリッドのеditイベントの「キャンセル」ボタンにクリックイベントを添付することはできます。以下の例をご確認ください:

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

をEDIT:

いくつかの時間t から、彼はグリッド上の溶液の代わりに使用できるイベントを "キャンセル" しています
11

私は同じ質問に対する答えを探していましたが、これは私のためには機能しませんでした。私はグリッド内の新しいレコードと編集されたレコードがコントローラ内で検証され、エラーメッセージがModelStateのModelErrorコレクションに追加されるシナリオを持っていました。私はその後、アラート内のエラーメッセージが表示されるグリッドのデータソースエラーイベントをフックアップし、変更をリセットし、次を追加しました:

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

私はページングを使用していますので、それは私のためにきちんと解決したとユーザーが現在表示しているページは保存されます。

+1

エラーイベントでは、このキーワードをcancelChanges ieに使用することもできます。 this.CancelChanges()は、パス全体を指定する代わりに使用します。 –

+0

特定の列に対してcancelChanges()を使用するのは可能でしょうか? – ManirajSS

7

受け入れられた回答状態とは対照的に、実際には、編集イベントと同じようにcancel eventがあります。

$("#grid").kendoGrid({ 
    ... 
    edit: function(e) { 
     alert("edit") 
    }, 
    cancel: function(e) { 
     alert("cancel"); 
    }, 
    ... 
}); 
+0

"incell"編集モードを使用している場合、キャンセルイベントはトリガーされません。ドキュメントには、「インライン」または「ポップアップ」編集モードの場合にのみ起動すると記載されています。 –

関連する問題