【スクリプト】 セルの背景色をクライアント側で変更する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
詳細
GetCellByRowColメソッドにてセルに該当するTABLEのTD要素を取得し、背景色を変更する方法があります。
下記では背景色を次の2種類のプロパティで変更する方法をご紹介しています。
・td.style.backgroundColor
セルにフォーカスが移動した状態で、その背景色(デフォルトは水色)を変更できます。
・td.bgColor
フォーカスを持っていないセルの背景色を変更できます。
<注意>
【JavaScript サンプルコード】
下記では背景色を次の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>
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