コンボボックスのリスト内容が、他のコンボボックスのリスト内容と統合される

文書番号 : 40096     文書種別 : 不具合     登録日 : 2017/03/02     最終更新日 : 2017/03/29
文書を印刷する
対象製品
SpreadJS 9J
発生環境
9.20161.0
状況
修正済み
詳細
AngularJSを利用して複数のコンボボックスを定義すると、各コンボボックスのリスト内容が、一つに統合される現象が発生します。

【再現手順】
1.下記の再現コードを実行します

M161130046.zip

【動作結果】
1列目と2列目のコンボボックスとも[利用者コード, 利用者ID, Yes, No]というリストが表示されます。(1列目と2列目でそれぞれ[利用者コード, 利用者ID]、[Yes, No]と列挙されるのが正常な動作です。)

回避方法
SpreadJS 9J SP2(Ver.9.20171.0)で修正済み
SpreadJS 9J SP2(Ver.9.20171.0)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

コンボボックスのコンストラクタを下記のように書き換えて利用することで現象の回避が可能です。

----------------------------------------
var oldCombo = GC.Spread.Sheets.CellTypes.ComboBox;
function ReplaceCombo() {
  oldCombo.apply(this, arguments);
  this.items([]);
}
ReplaceCombo.prototype = new oldCombo();
GC.Spread.Sheets.CellTypes.ComboBox = ReplaceCombo;
----------------------------------------