【ラジオボタンリスト型セル】クライアント側スクリプト(SetValue)で値を設定すると、シートがスクロールされる

文書番号 : 25507     文書種別 : 不具合     最終更新日 : 2008/03/13
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
クライアント側スクリプト(SetValue メソッド)でラジオボタンリスト型セルに値を設定すると、シートがスクロールされる場合があります。

【再現手順】
1.新規WebフォームにSPREADとbuttonを配置し、下記のサンプルコードをコピーします
2.アプリケーションを実行します
3.buttonを押下します
4.20行目が表示されるように、シートがスクロールします

【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  If Page.IsPostBack Then
    Return
  End If

  FpSpread1.ActiveSheetView.RowCount = 50
  FpSpread1.ActiveSheetView.PageSize = 50

  Dim rc As New FarPoint.Web.Spread.RadioButtonListCellType(New String() {"赤", "白"}, New String() {"0", "1"})
  FpSpread1.ActiveSheetView.Columns(1).CellType = rc
End Sub

-------------------------
クライアント側スクリプト
-------------------------
<script type="text/javascript">
  function test()
  {
    var spread = document.getElementById("FpSpread1");
    spread.SetValue(19,1,"赤",true);
  }
</script>

-------------------------
HTML
-------------------------
<input id="Button2" style="z-index: 103; left: 86px; width: 79px; position: absolute;
      top: 4px" type="button" value="button" onclick="test();" />
回避方法
2008/03/31版で修正済み。

2008/03/31版より前のバージョンでは次の回避方法が有効です。

以下のようなDHTMLの機能を用いてラジオボタンに値を設定してください。

<script type="text/javascript">
  function test()
  {
    var spread = document.getElementById("FpSpread1");
    var rl = document.getElementsByName("FpSpread1$" + "19,1");
    rl[0].checked = true;
  }
</script>
キーワード
SPRN06607

この文書は、以前は次のバグレポートIDで公開されていました : 7407