FlexView

Q12 14
プロパティ更新時のスクロールバー位置について
[内容]
FlexViewで選択セルから外れてスクロールしていても、プロパティ更新の契機で選択セルに自動的にスクロールされる

A12 14
[解決方法]
FlexViewにて、行の追加や削除・プロパティの更新を行いますと、一度 描画を更新します。
その際に、FlexViewにカーソルを戻しますが、このときにRowPositionプロパティの値を持つ行、ColumnPositionプロパティの値を持つ列が表示される範囲にスクロールを調整します。
この動きは、FlexViewの仕様となります。

上記は、FlexView自身のプロパティや、FlexViewのアイテムとなる行の操作の他、FlexView配下に配置されたオブジェクトのプロパティの更新においても当てはまります。

[サンプルコード]
Form Form1 {
 X = 0;
 Y = 0;
 Width = 340;
 Height = 185;
 FlexView FlexView1 {
  X = 7;
  Y = 7;
  Width = 320;
  Height = 130;
  FlexRecord FlexRecord1 {
   FlexLabel FlexLabel1;
   FlexTextBox FlexTextBox1;
   FlexTextBox FlexTextBox2;
  }  
  /* FlexView1配下のNumberオブジェクト */
  Number a = 0;
  
  Function OnLostFocus( e ) {
   /* FlexView1からフォーカスが外れた場合、
   Numberオブジェクトの値を変更 */
   a = 1;
  }
 }
 Button Button1 {
  X = 9;
  Y = 142;
  Width = 164;
  Height = 30;
  Title = "フォーカス移動用";
 }
 if ( !$DESIGNTIME ) {
  FlexView1.InsertRow(30,0);
 }
}

上記、サンプルの場合、フォーカス位置を先頭の行にし縦スクロールバーを下まで下げたあと、ボタンへフォーカスを移動するとNumberオブジェクト「a」の値が変更し、スクロールバーの位置が先頭に戻ります。

管理番号:Flx_014
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ