■サイトマップ Search help


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


 9908 FlexViewクラスのDeleteRowメソッドの戻り値が不正になる場合がある 

対象バージョン 〜 Biz/Browser V Ver5.0.1.1

障害内容 DeleteRowメソッドでは、削除した行の次の行を指すFlexRowオブジェクトのリファレンスを戻り値として返すが、削除した行の次の行は、行番号が繰り上がるため結果として削除行のリファレンスが返される。
しかし、FlexView上のカーソル位置が、削除対象となる行より下の行に存在する状態で行を削除すると、不正な位置のFlexRowオブジェクトのリファレンスが返される場合がある。

[サンプルスクリプト]
※「2行目削除」ボタン押下時の処理抜粋
 Button Button1 {
  X = 25;
  Y = 161;
  Width = 102;
  Height = 41;
  Title = "2行目削除";
  
  Function OnTouch( e ) {
   var row_no =^.FlexView1.DeleteRow(2);
   ^.Label2.Value = row_no.Position;
  }
 }

[画面例]
・正常なパターン
・不正なパターン
要因 行削除時にカーソル行の再設定が行われるが、その際のカーソル行が戻り値として返されていたため。

対処方法
(方法1) DeleteRowメソッド実行後、削除した行番号のリファレンスを取得する。
(行が繰り上がるため、削除した行の次の行のリファレンスが取得できる。)

[サンプルスクリプト]
Button Button1 {
	X = 25;
	Y = 161;
	Width = 102;
	Height = 41;
	Title = "2行目削除";
	
	Function OnTouch( e ) {
		/* 削除行番号 */
		var del_row = 2;
		/* 行削除 */
		^.FlexView1.DeleteRow(del_row);
		/* 削除行と同じ行番号のリファレンスを取得 */
		var row_no = ^.FlexView1.GetRow(del_row);
		^.Label2.Value = row_no.Position;
	}
}

(方法2) 改修バージョンへのバージョンアップを行う。

改修バージョン

Biz/Browser V Ver 5.0.2.0


■ 障害レポート一覧へ