【クライアント】非表示にしたdiv内にSPREADを配置すると、スクリプトエラーが発生する場合がある
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
非表示にしたdiv内にSPREADを配置すると、初期表示時にスクリプトエラーが発生する場合があります。
【手順】
1.新規WebフォームにSPREADとbuttonを以下のように配置します
<input id="Button1" type="button" value="button" onclick="test();" />
<div id="div2" class="searchm" style="width: 100%; display:none">
<FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="Black" BorderStyle="Solid"
BorderWidth="1px" Height="200" Width="400">
<CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
ButtonShadowColor="ControlDark">
</CommandBar>
<Sheets>
<FarPoint:SheetView SheetName="Sheet1">
</FarPoint:SheetView>
</Sheets>
</FarPoint:FpSpread>
</div>
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.スクリプトエラーが発生します
4.ボタンを押下して、SPREADを表示します
5.列幅の変更を行うことができません
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, Me.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.FrozenColumnCount = 2
FpSpread1.CommandBar.Visible = False
FpSpread1.ActiveSheetView.AllowPage = True
FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Bottom
FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Number
End Sub
-------------------------
クライアント側スクリプト
-------------------------
<script type="text/javascript">
function test()
{
var div2 = document.getElementById("div2");
div2.style.display = "block";
}
</script>
【手順】
1.新規WebフォームにSPREADとbuttonを以下のように配置します
<input id="Button1" type="button" value="button" onclick="test();" />
<div id="div2" class="searchm" style="width: 100%; display:none">
<FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="Black" BorderStyle="Solid"
BorderWidth="1px" Height="200" Width="400">
<CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
ButtonShadowColor="ControlDark">
</CommandBar>
<Sheets>
<FarPoint:SheetView SheetName="Sheet1">
</FarPoint:SheetView>
</Sheets>
</FarPoint:FpSpread>
</div>
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.スクリプトエラーが発生します
4.ボタンを押下して、SPREADを表示します
5.列幅の変更を行うことができません
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, Me.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.FrozenColumnCount = 2
FpSpread1.CommandBar.Visible = False
FpSpread1.ActiveSheetView.AllowPage = True
FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Bottom
FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Number
End Sub
-------------------------
クライアント側スクリプト
-------------------------
<script type="text/javascript">
function test()
{
var div2 = document.getElementById("div2");
div2.style.display = "block";
}
</script>
回避方法
2009/05/27版で修正済み。
2009/05/27版より前のバージョンでは次の回避方法が有効です。
Panel内にSPREADを配置し、サーバー側で表示、非表示を切り替えます。
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, Me.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.FrozenColumnCount = 2
FpSpread1.CommandBar.Visible = False
FpSpread1.ActiveSheetView.AllowPage = True
FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Bottom
FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Number
Panel1.Visible = False
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
FpSpread1.SaveChanges()
Panel1.Visible = Not Panel1.Visible
End Sub
2009/05/27版より前のバージョンでは次の回避方法が有効です。
Panel内にSPREADを配置し、サーバー側で表示、非表示を切り替えます。
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, Me.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.FrozenColumnCount = 2
FpSpread1.CommandBar.Visible = False
FpSpread1.ActiveSheetView.AllowPage = True
FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Bottom
FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Number
Panel1.Visible = False
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
FpSpread1.SaveChanges()
Panel1.Visible = Not Panel1.Visible
End Sub
キーワード
SPRN07130
この文書は、以前は次のバグレポートIDで公開されていました : 7793