3

列ヘッダーをグループ化パネルにドラッグしてグループ化すると、dataSourceのchangeイベントが発生します。これは仕様によるものですか?

編集:このイベントは、グリッドが列でソートされている場合にも発生します。

私の質問の根拠の一部は、「変化」という言葉が曖昧であるということです。私は長い間ドキュメントを読んでいますが、著者は「変更される」という意味の単語を望んでいる場合もあれば、「置き換えられる」という意味の単語を望んでいる場合もあります。一部のWindowsコントロールソフトウェアハウスは、「変更された」と「変更された」という別々の単語を使用して2つのシナリオを区別し、それに応じてイベントに名前を付けます。したがって、何が意図されているかは必ずしも明確ではありません。

「アンダーショーツを交換してください」。そこでは、「着ているアンダーショーツのペアにボタンを縫う」ではなく、「新しいアンダーショーツのペアを着る」という意味です。

グループ化と並べ替えが発生したときにkendodataSource.changeイベントが意図的に発生した場合、これら2つの「必須ではない」変更(データは変更されていない、順序が異なるだけ)とシナリオを区別する方法グリッドの基になるデータセットは完全に置き換えられますか?dataSource.dataCompletelyReplacedシナリオを「リッスン」する方法はありますか?多くのWinFormsグリッドでDataSourceChangedイベントを比較します。このイベントは、データセット内のアイテムが変更されたときではなく、データセットが置き換えられてグリッドがリバウンドされたときに発生します。

「変化する」と「取って代わられる」は非常に異なるシナリオです。

剣道グリッドの例としては、グリッドが空の配列dataSource.data = []を使用して構成で初期化され、その後、場合によってはユーザーとの対話の後で、空の配列がを使用して実際のデータセットに置き換えられる場合がありdataSource.data(someNewData)ます。

4

1 に答える 1

3

はい、データソースの変更イベントは、データがグループ化(または並べ替え、フィルタリングなど)されたときに発生するはずです。模索は、データソースのビュー(データ項目の現在の状態)を変更するデータ操作です。

「dataCompletelyReplaced」アクションの後にトリガーされる個別の組み込みイベントはありません。特定のレコードを編集(または挿入)する場合は、イベントデータの「アクション」パラメーターを使用できます。

$("#grid").data("kendoGrid")
    .dataSource.bind("change", function(e) { 
        e.action 
    });
于 2013-01-01T11:13:09.457 に答える