セル上でマウスポインタを変更する方法
対象製品
SPREAD for .NET 2.5J Web Forms Edition
詳細
SPREADにはセルのマウスポインタの形状を設定するプロパティはありませんが、セル型にCssClassを設定する方法があります。
1.以下のスタイルを *.aspx の HTMLコード内に記述します。
2.次に上記スタイルをセル型に設定します。
ただし行・列ヘッダ部分では製品自体が提供する機能の実装上、ユーザーがスタイルシートで行ったマウスポインタの設定などが実行時に上書きされます。以下のようにクライアントスクリプトを利用してBODYのonmousechangeイベントなどで明示的にマウスポインタを変更する方法があります。
1.以下のスタイルを *.aspx の HTMLコード内に記述します。
<style>.myCell { CURSOR: default }
</style>
</style>
2.次に上記スタイルをセル型に設定します。
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsPostBack Then
Return
End If
Dim gc As New FarPoint.Web.Spread.GeneralCellType
gc.CssClass = "myCell"
FpSpread1.Sheets(0).Cells(0, 0).CellType = gc
End Sub
If IsPostBack Then
Return
End If
Dim gc As New FarPoint.Web.Spread.GeneralCellType
gc.CssClass = "myCell"
FpSpread1.Sheets(0).Cells(0, 0).CellType = gc
End Sub
ただし行・列ヘッダ部分では製品自体が提供する機能の実装上、ユーザーがスタイルシートで行ったマウスポインタの設定などが実行時に上書きされます。以下のようにクライアントスクリプトを利用してBODYのonmousechangeイベントなどで明示的にマウスポインタを変更する方法があります。
<SCRIPT>
function setmycell(){
var cell=event.srcElement;
//セルが列ヘッダの場合に処理する(行ヘッダの場合は"rh")
if(cell.parentElement.FpSpread=="ch"){
cell.style.cursor="hand";
}
}
</SCRIPT>
<body MS_POSITIONING="GridLayout" onmousemove="setmycell()">
<form id="Form1" method="post" runat="server">
<FarPoint:FpSpread id="FpSpread1" ...
function setmycell(){
var cell=event.srcElement;
//セルが列ヘッダの場合に処理する(行ヘッダの場合は"rh")
if(cell.parentElement.FpSpread=="ch"){
cell.style.cursor="hand";
}
}
</SCRIPT>
<body MS_POSITIONING="GridLayout" onmousemove="setmycell()">
<form id="Form1" method="post" runat="server">
<FarPoint:FpSpread id="FpSpread1" ...
関連情報
キーワード
外観 クライアント側スクリプト
この文書は、以前は次のFAQ IDで公開されていました : 9129