1

アプリで Kendo Grids の AJAX エラーを処理する一般的な方法に取り組んでいます。js 関数の一部として、エラーを表示し、グリッドの変更をキャンセルしています。グリッドの ID を取得するには、以下で行っている方法よりも優れた方法が必要です。これは、ハックのように感じます (テストでは機能しますが)。これを処理するより良い方法はありますか?

// common kendo grid ajax error handler
function kendoGridAjaxErrorHandler(result) {
    var msg = result.xhr.status + ' ' + result.xhr.statusText + '\n' + result.xhr.responseText;
    alert(msg);
    var id = result.sender.options.table[0].parentNode.parentNode.id;
    $('#' + id).data('kendoGrid').cancelChanges();
};
4

3 に答える 3

1

エラー イベントは、グリッドではなく DataSource によって公開されます。その結果、エラー ハンドラ内でグリッド自体を取得できません。可能であれば、読み取り URL などのデータ ソース オプションに基づいてグリッドを区別してみてください。

function kendoGridAjaxErrorHandler(result) {
    var dataSource = this;
    var read = dataSource.options.transport.read.url;
    if (readUrl == "/Customers/Read") {
       // the customers grid
    } else {
       // other grid
    }
}
于 2013-09-05T07:08:33.273 に答える
1

私は同じ問題に直面しましたが、30分かけて解決策を見つけました。

これでGrid Element IDを取得できます

e.sender.options.table.parent('div')[0].id
于 2013-10-16T07:58:28.897 に答える