【エンコード】グローバリゼーションの設定を”Shift_JIS”にした場合、コールバックするとコンボボックス型セルの選択が最初のリスト項目に変更される
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
グローバリゼーションの設定を”Shift_JIS”に設定した場合、コールバックするとコンボボックス型セルの選択が最初のリスト項目に変更されます。
[再現手順]
1.新規WebフォームにSPREADとボタンを配置します。
2.下記サンプルコードをコピーします。
3.アプリケーションを実行します。
4.ボタンを押下します。
5.A1セルの値が「あ」に変更されます。
[サンプルコード]
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack Then
Return
End If
Dim cbstr As String()
cbstr = New String() {"あ", "い", "う", "え", "お"}
Dim cmbbx As New FarPoint.Web.Spread.ComboBoxCellType(cbstr)
cmbbx.ShowButton = True
FpSpread1.ActiveSheetView.Cells(0, 0).CellType = cmbbx
FpSpread1.ActiveSheetView.Cells(0, 0).Value = 1
End Sub
-------------------------
クライアント側スクリプト
-------------------------
<script language="javascript">
function onMyButtonClick()
{
var spread = document.getElementById('FpSpread1');
spread.CallBack("test");
}
</script>
-------------------------
HTML
※スクリプトテスト用のHTMLボタン
-------------------------
<input id="Button1" style="z-index: 102; left: 448px; position: absolute; top: 72px" type="button" value="button" onclick="onMyButtonClick();" />
[再現手順]
1.新規WebフォームにSPREADとボタンを配置します。
2.下記サンプルコードをコピーします。
3.アプリケーションを実行します。
4.ボタンを押下します。
5.A1セルの値が「あ」に変更されます。
[サンプルコード]
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack Then
Return
End If
Dim cbstr As String()
cbstr = New String() {"あ", "い", "う", "え", "お"}
Dim cmbbx As New FarPoint.Web.Spread.ComboBoxCellType(cbstr)
cmbbx.ShowButton = True
FpSpread1.ActiveSheetView.Cells(0, 0).CellType = cmbbx
FpSpread1.ActiveSheetView.Cells(0, 0).Value = 1
End Sub
-------------------------
クライアント側スクリプト
-------------------------
<script language="javascript">
function onMyButtonClick()
{
var spread = document.getElementById('FpSpread1');
spread.CallBack("test");
}
</script>
-------------------------
HTML
※スクリプトテスト用のHTMLボタン
-------------------------
<input id="Button1" style="z-index: 102; left: 448px; position: absolute; top: 72px" type="button" value="button" onclick="onMyButtonClick();" />
回避方法
2007/09/05版で修正済み。
2007/09/05版より前のバージョンでは次の回避方法が有効です。
HTML Selectを使用したカスタムセル型クラスを作成してご対応ください。
[サンプルコード]
------------------------------------
Webフォームクラス
------------------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack Then
Return
End If
Dim cbstr As String()
cbstr = New String() {"あ", "い", "う", "え", "お"}
Dim cmbbx As New FarPoint.Web.Spread.ComboBoxCellType(cbstr)
cmbbx.ShowButton = True
FpSpread1.ActiveSheetView.Cells(0, 0).CellType = cmbbx
FpSpread1.ActiveSheetView.Cells(0, 0).Value = 1
Dim mycmbbx As New MyCombo
mycmbbx.Items = cbstr
FpSpread1.ActiveSheetView.Cells(0, 1).CellType = mycmbbx
FpSpread1.ActiveSheetView.Cells(0, 1).Value = 1
End Sub
------------------------------------
カスタムセル型クラス
------------------------------------
<Serializable()> Public Class MyCombo
Inherits FarPoint.Web.Spread.ComboBoxCellType
Public Sub New()
MyBase.New()
Me.ShowButton = True
End Sub
Public Overrides Function PaintCell(ByVal id As String, ByVal parent As System.Web.UI.WebControls.TableCell, ByVal style As FarPoint.Web.Spread.Appearance, ByVal margin As FarPoint.Web.Spread.Inset, ByVal value As Object, ByVal upperLevel As Boolean) As System.Web.UI.Control
Dim cb As New HtmlSelect
cb.Style.Item("Width") = "100%"
cb.Attributes.Add("tabIndex", "-1")
Dim i As Int32
For i = 0 To Me.Items.Length - 1
cb.Items.Add(Me.Items(i))
Next
cb.Value = CStr(value)
Return cb
End Function
End Class
2007/09/05版より前のバージョンでは次の回避方法が有効です。
HTML Selectを使用したカスタムセル型クラスを作成してご対応ください。
[サンプルコード]
------------------------------------
Webフォームクラス
------------------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack Then
Return
End If
Dim cbstr As String()
cbstr = New String() {"あ", "い", "う", "え", "お"}
Dim cmbbx As New FarPoint.Web.Spread.ComboBoxCellType(cbstr)
cmbbx.ShowButton = True
FpSpread1.ActiveSheetView.Cells(0, 0).CellType = cmbbx
FpSpread1.ActiveSheetView.Cells(0, 0).Value = 1
Dim mycmbbx As New MyCombo
mycmbbx.Items = cbstr
FpSpread1.ActiveSheetView.Cells(0, 1).CellType = mycmbbx
FpSpread1.ActiveSheetView.Cells(0, 1).Value = 1
End Sub
------------------------------------
カスタムセル型クラス
------------------------------------
<Serializable()> Public Class MyCombo
Inherits FarPoint.Web.Spread.ComboBoxCellType
Public Sub New()
MyBase.New()
Me.ShowButton = True
End Sub
Public Overrides Function PaintCell(ByVal id As String, ByVal parent As System.Web.UI.WebControls.TableCell, ByVal style As FarPoint.Web.Spread.Appearance, ByVal margin As FarPoint.Web.Spread.Inset, ByVal value As Object, ByVal upperLevel As Boolean) As System.Web.UI.Control
Dim cb As New HtmlSelect
cb.Style.Item("Width") = "100%"
cb.Attributes.Add("tabIndex", "-1")
Dim i As Int32
For i = 0 To Me.Items.Length - 1
cb.Items.Add(Me.Items(i))
Next
cb.Value = CStr(value)
Return cb
End Function
End Class
キーワード
SPRN05977
この文書は、以前は次のバグレポートIDで公開されていました : 6824