非編集状態のコンボボックス型セルに、ダブルクォーテーションと改行を含む文字を正しく貼り付けられない
対象製品
SPREAD for WPF 1.0J
状況
修正済み
詳細
非編集状態のコンボボックス型セルに、次のようなダブルクォーテーションと改行を含む文字が含まれていると、正しく貼り付けられません。
【例】
貼り付けデータ:
"A
B
貼り付け結果:
一つのセル内に以下のように貼り付けられる
"A
B
正しい結果:
先頭のダブルクォーテーションと改行コードは削除される
AB
【例】
貼り付けデータ:
"A
B
貼り付け結果:
一つのセル内に以下のように貼り付けられる
"A
B
正しい結果:
先頭のダブルクォーテーションと改行コードは削除される
AB
回避方法
Service Pack 3(v1.0.2016.1207)で修正済みです。
Service Pack 3(v1.0.2016.1207)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
コンボボックス型セルを継承したカスタムセルを使用することで回避できます。以下は、カスタムセルを定義するクラスです。
◎サンプルコード(VB)
◎サンプルコード(C#)
Service Pack 3(v1.0.2016.1207)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
コンボボックス型セルを継承したカスタムセルを使用することで回避できます。以下は、カスタムセルを定義するクラスです。
◎サンプルコード(VB)
Public Class MyComboBoxCellType
Inherits ComboBoxCellType
Protected Overrides Function TextToValue(text As String, ByRef textIsValid As Boolean) As Object
textIsValid = True
If text Is Nothing Then
Return MyBase.TextToValue(text, textIsValid)
Else
Return text.Replace(Chr(13), "").Replace(Chr(10), "")
End If
End Function
End Class
◎サンプルコード(C#)
public class MyComboBoxCellType : ComboBoxCellType
{
protected override object TextToValue(string text, out bool textIsValid)
{
textIsValid = true;
return text == null ? "" : text.Replace("¥r", "").Replace("¥n", "");
}
}