RecordGridの横スクロールについて

【ご質問】
RecordGridにて、プログラムから特定のセルが表示されるように
スクロールさせるにはどのようにすればよいのでしょうか。
Cellにフォーカスを設定せずに、カラムをスクロールさせる手段が見つかりませんでした。
フォーカス設定をせずに横スクロールをすることはできるのでしょうか。

【回答】
SkinnableRecordGridUIを継承したクラスを自身のui-objectに設定し、
“reveal-index(メソッド)”をオーバーライドすることで実現可能です。

詳細は以下のサンプルをご参照ください。

{curl 7.0,8.0 applet}

{define-class public MySkinnableRecordGridUI {inherits SkinnableRecordGridUI}
  {constructor public {default …}
    {construct-super …}
  }

  {method public {my-reveal-index row-index:int = -1, column-index:int = -1}:void
    {super.reveal-index row-index = row-index, column-index = column-index}
  }
}

{value
    let rs:RecordSet = {RecordSet
                           {RecordFields
                               {RecordField “a”, nullable?=true},
                               {RecordField “b”, nullable?=true},
                               {RecordField “c”, nullable?=true},
                               {RecordField “d”, nullable?=true},
                               {RecordField “e”, nullable?=true},
                               {RecordField “F”, nullable?=true}
                           },
                           {RecordData},{RecordData},{RecordData},{RecordData e = “target”},
                           {RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData},
                           {RecordData},{RecordData},{RecordData},{RecordData},{RecordData}
                       }
    let rg:RecordGrid = {RecordGrid ui-object = {MySkinnableRecordGridUI},
                            record-source = rs}
   
    {VBox
        {CommandButton label = “test”,
            {on Action do
                let ui:MySkinnableRecordGridUI = rg.ui-object asa MySkinnableRecordGridUI
                {dump ui}
                {ui.my-reveal-index row-index = 3, column-index = 4}
            }
        },
        rg
    }
}