dgrid に問題があります.... AccordionContainer があり、その各 ContentPane に dgrid を配置します。dgrid の問題は次のとおりです。 1- スクロールのエラー: 下にスクロールすると、特定の瞬間にスクロールが「スキップ」して最後にジャンプし、上にスクロールして最初のレコードを表示する方法がありません。(スクロールが失敗すると、Firebug でエラー TypeError: grid._rows is null を見たことがあります)。2- 値を変更しようとしています: dgrid-datachange イベントが発行されないように聞こえます。値を編集した後にイベントをキャプチャする方法はありません。
これらのエラーは、レイアウト内に dgrid があることに関係していると思います (ContentPane 内の dgrid、AccordionContainer 内)。DijitRegistry 拡張機能も含めましたが、この拡張機能を使用しても、このエラーを取り除くことはできません。エラーを再現するこのフィドルを用意しました:
https://jsfiddle.net/9ax3q9jw/5/
コード:
var grid = new (declare([OnDemandGrid, DijitRegistry,Selection, Selector, Editor]))({
collection: tsStore,
selectionMode: 'none',
columns:
[
{id: 'timestamp', label:'Timestamp', formatter: function (value,rowIndex) {
return value[0];
}},
{id: 'value', label: 'Value',
get: function(value){
return value[1];
},
editor: "dijit/form/TextBox"
}
],
showHeader: true
});
grid.startup();
grid.on('dgrid-datachange',function(event){
alert('Change!');
console.log('Change: ' + JSON.stringify(event));
});
//Add Grid and TextArea to AccordionContainer.
var cp = new ContentPane({
title: tsStore.name,
content: grid
},"accordionContainer");
助けていただければ幸いです、ありがとう、エンジェル。