dataSource.changedイベントは機能していますか?私の剣道UIグリッドがインスタンス化された後剣道UIデータソース変更イベント:それは機能していますか?
、私はここにドキュメントごとの変更イベントを結合しています:
// initialize
$("#grid").kendoGrid({
dataSource: dataSource,
blah blah blah
)
});
// end of initialization
// bind afterwards
var grid = $('#grid').data('kendoGrid');
grid.dataSource.bind("change", function (e) {
dataChanged();
});
//also tried a setTimeout:
// bind afterwards
setTimeout(function() {
var grid = $('#grid').data('kendoGrid');
grid.dataSource.bind("change", function (e) {
dataChanged();
});
}, 350);
function dataChanged() {
// handle "change" whatever that means -- documentation definition is hazy
// does reassigning the data array constitute a change?
// does changing the value of a particular item in the data array
// constitute a change?
// does removing an item from the data array constitute a change?
var grid = $("#grid").data("kendoGrid");
grid.refresh();
}
しかし、私のdataChanged:
http://docs.kendoui.com/api/framework/datasource#change
//To set after initialization
dataSource.bind("change", function(e) {
// handle event
});
が、私はこれをやっています()関数は、これらのいずれかを行うと呼び出されません。
var grid = $('#grid').data('kendoGrid');
grid.dataSource.data()[1]["deptname"] = 'XXX';
または
grid.dataSource.data = aDifferentArray;
私は「変更」イベントがために待機している正確に何かわかりません。正確には、それを引き起こすのは何ですか?
完全に新しいdataSourceを作成し、すでにdataSourceを持つグリッドに割り当てると、既存のデータソースの変更されたイベントがどのようにトリガーされるのかわかりません。そのようなイベント(dataSourceが別のものに置き換えられたことに気付くグリッド)は、グリッドレベルのイベントであり、dataSourceレベルのイベントではありません。
ご清聴ありがとうございます。 '.set'メソッドはchangeイベントをトリガーしますが、' grid.dataSource.data = aDifferentArray'は私が知る限りは変化しません。 WinFormsグリッドのDataSource_Changedイベントに相当する剣道グリッドが存在することを願っています.60秒ごとに新しいデータでグリッドをリフレッシュすることを望んでいるため、グリッドに別のデータソースが割り当てられているときに発生します:http://stackoverflow.com/新しいデータ・データ・ソースを持つ60秒ごとのデータ・ソース/ a/13892541#comment19140263_13892541 – Tim
実際には、データをスワップするために、 .data() '関数:http://docs.kendoui。com/api/framework/datasource#data。あなたのコードは 'grid.dataSource.data(aDifferentArray);' – CodingWithSpike
となるでしょう!どうもありがとう。 – Tim