■サイトマップ Search help


Biz/Browser Mobileに関する障害レポート


 10211 FlexIndentLabelオブジェクトのツリーをスクリプトから開閉した場合、スクロールバーが表示されない  

対象バージョン 〜 Biz/Browser Mobile ver 4.0.0.0

障害内容 Foldingプロパティの値を「$TRUE」にしツリーを開いた場合、スクロールバーが表示されない。
また、スクロールバーが表示され(ツリーが開かれ)ている状態で、Foldingプロパティの値を「$FALSE」に設定しツリーを閉じてもスクロールバーが表示されたままの状態になる。

[ 例 ]
【マウスでツリーを開いた場合】 【Foldingプロパティを$TRUEへ変更した場合】
※「展開する」ボタンで操作
【マウスでツリーを閉じた場合】 【Foldingプロパティを$FALSEへ変更した場合】

要因 FlexIndentLabelクラスのFoldingプロパティを利用してツリーの開閉が行われた際に、スクロールバー位置の再描画が正しく行われていないかった。

対処方法
(方法1) SSpread固有のプロパティの値を設定・変更する場合は、スクリプトペインで直接プロパティ設定・変更を行う
FlexIndentLabelのFoldingプロパティを切り替える際に、行の追加・削除を行いFlexViewの再描画を行う。

[スクリプト例]
FlexView FlexView1 {
  X = 5;
  Y = 5;
  Width = 129;
  Height = 220;
  
  FlexRecord FlexRecord1 {
    FlexIndentLabel FlexIndentLabel1 {
      Title = "FlexIndentLabel";
      width = 110;
      Folding = $TRUE;
    }
  }
}
Button Button1 {
  X = 138;
  Y = 29;
  Width = 66;
  Height = 54;
  Title = "折り畳み\n切り替え";
  
  Function OnTouch( e ) {
    /* 折り畳み状態を取得 */
    var fold_fg = ^.FlexView1.FlexRecord1.FlexIndentLabel1.Folding;
    
    if (fold_fg){
      /* 閉じている場合は開く */
      ^.FlexView1.FlexRecord1.FlexIndentLabel1.Folding = $FALSE;
    }else{
      /* 開いている場合は閉じる */
      ^.FlexView1.FlexRecord1.FlexIndentLabel1.Folding = $TRUE;
    }
    
    /* 再オブジェクト描写の為のダミー処理 */
    /* 最終行へ空行を追加 */
    ^.FlexView1.InsertRow();
    /* 追加した空行を削除 */
    ^.FlexView1.DeleteRow(^.FlexView1.RowCount - 1);
  }
}

var f_data = new CSVDocument();  
f_data << csv(FlexIndentLabel1.Value,
                     FlexIndentLabel1.key, FlexIndentLabel1.ParentKey){
  関東,関東,
  東京,東京,関東
  池袋,池袋,東京
  新宿,新宿,東京
  千葉,千葉,関東
  船橋,船橋,千葉
  成田,成田,千葉
  埼玉,埼玉,関東
  大宮,大宮,埼玉
  関西,関西,
  大阪,大阪,関西
  天王寺,天王寺,大阪
  東淀川,天王寺,大阪
};  
FlexView1 << f_data;

 
(方法2) 改修バージョンへバージョンアップ

改修バージョン

Biz/Browser Mobile ver 4.5.0.0


■ 障害レポート一覧へ