モーダルウィンドウ上にSPREADを表示するとフォーカス枠の表示位置が不正になる場合がある
対象製品
SPREAD for ASP.NET 8.0J
発生環境
Google Chrome以外のサポート対象ブラウザ
状況
修正済み
詳細
■事象
ModalPopupExtenderを使用してモーダルウィンドウ上にSPREADを表示すると、フォーカス枠の表示位置が不正になる場合があります。
■問題が発生する実装例
◆Webページ側(.aspx)
◆サーバー側コード(C#)
■問題発生例("B2"セルをクリックした状態)
■備考
モーダルウィンドウの実装方法によっては、本事象は発生いたしません。
たとえば、上記の「■問題が発生する実装例」の場合、ModalPopupコントロールのTargetControlIDプロパティに設定している[button1]を非表示(Style="display: none;")とし、Page_Loadイベント内でShowメソッドを実行してモーダルウィンドウを表示していますが、[button1]を表示させ、Showメソッドではなく、[button1]をクリックしてモーダルウィンドウを表示した場合、この問題は発生しません。
ModalPopupExtenderを使用してモーダルウィンドウ上にSPREADを表示すると、フォーカス枠の表示位置が不正になる場合があります。
■問題が発生する実装例
◆Webページ側(.aspx)
<asp:Button ID="button1" runat="server" Text="" Style="display: none;" />
<ajaxToolkit:ModalPopupExtender ID="mdlPopupExtender" runat="server" Enabled="True"
PopupControlID="Panel1" TargetControlID="button1" DropShadow="true">
</ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" Style="display: none;">
<FarPoint:FpSpread ID="FpSpread1" runat="server" Height="200px" Width="400px">
<Sheets>
<FarPoint:SheetView SheetName="Sheet1">
</FarPoint:SheetView>
</Sheets>
</FarPoint:FpSpread>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="mdlPopupExtender" runat="server" Enabled="True"
PopupControlID="Panel1" TargetControlID="button1" DropShadow="true">
</ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" Style="display: none;">
<FarPoint:FpSpread ID="FpSpread1" runat="server" Height="200px" Width="400px">
<Sheets>
<FarPoint:SheetView SheetName="Sheet1">
</FarPoint:SheetView>
</Sheets>
</FarPoint:FpSpread>
</asp:Panel>
◆サーバー側コード(C#)
protected void Page_Load(object sender, EventArgs e)
{
FpSpread1.ActiveSheetView.RowCount = 2;
FpSpread1.ActiveSheetView.ColumnCount = 2;
// 赤いフォーカス枠を表示する設定にします。
FpSpread1.ShowFocusRectangle = true;
FpSpread1.FocusRectangleBorderColor = System.Drawing.Color.Red;
// モーダルウィンドウを表示します。
mdlPopupExtender.Show();
}
{
FpSpread1.ActiveSheetView.RowCount = 2;
FpSpread1.ActiveSheetView.ColumnCount = 2;
// 赤いフォーカス枠を表示する設定にします。
FpSpread1.ShowFocusRectangle = true;
FpSpread1.FocusRectangleBorderColor = System.Drawing.Color.Red;
// モーダルウィンドウを表示します。
mdlPopupExtender.Show();
}
■問題発生例("B2"セルをクリックした状態)
■備考
モーダルウィンドウの実装方法によっては、本事象は発生いたしません。
たとえば、上記の「■問題が発生する実装例」の場合、ModalPopupコントロールのTargetControlIDプロパティに設定している[button1]を非表示(Style="display: none;")とし、Page_Loadイベント内でShowメソッドを実行してモーダルウィンドウを表示していますが、[button1]を表示させ、Showメソッドではなく、[button1]をクリックしてモーダルウィンドウを表示した場合、この問題は発生しません。
回避方法
Service Pack 6(v8.0.4010.2010)で修正済み。