【スクリプト】 セルの背景色をクライアント側で変更する

文書番号 : 21829     文書種別 : 使用方法     最終更新日 : 2006/06/23
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
詳細
GetCellByRowColメソッドにてセルに該当するTABLEのTD要素を取得し、背景色を変更する方法があります。
下記では背景色を次の2種類のプロパティで変更する方法をご紹介しています。

・td.style.backgroundColor
  セルにフォーカスが移動した状態で、その背景色(デフォルトは水色)を変更できます。
・td.bgColor
  フォーカスを持っていないセルの背景色を変更できます。

<注意>
以下の方法では、ポストバック後に背景色の変更は元に戻ります。ポストバック後も変更を維持したい場合、製品付属のサンプル[SpreadDemo|ワークシート]のようにコールバック(Ajax)により背景色を変更する方法もご検討ください。

【JavaScript サンプルコード】
    <script language="javascript">
      function window.onload()
      {
        var spread = document.getElementById('FpSpread1');
        spread.onActiveCellChanged = ac;
        spread.onkeyup = spkeyup;
      }

      function ac()
      {
        var spread = event.srcElement;
        var td = spread.GetCellByRowCol(event.Row,event.Col);

        //フォーカスが移動したセルの背景色を変更する
        td.style.backgroundColor = "beige";

        //セル(フォーカスが移動しない状態)の背景色を
        //変更する場合は下記をコメントアウト
        //td.bgColor = "beige";
      }

      function spkeyup()
      {
        if(event.keyCode!=38)
        {
          return;
        }
        
        var spread = document.getElementById('FpSpread1');
        var td = spread.GetCellByRowCol(spread.ActiveRow,spread.ActiveCol);
  
        //フォーカスが移動したセルの背景色を変更する
        td.style.backgroundColor="beige";
      }
    </script>
キーワード
クライアント側スクリプト

この文書は、以前は次のFAQ IDで公開されていました : 9153