非編集状態のコンボボックス型セルに、ダブルクォーテーションと改行を含む文字を正しく貼り付けられない

文書番号 : 39434     文書種別 : 不具合     登録日 : 2016/06/16     最終更新日 : 2016/12/07
文書を印刷する
対象製品
SPREAD for WPF 1.0J
状況
修正済み
詳細
非編集状態のコンボボックス型セルに、次のようなダブルクォーテーションと改行を含む文字が含まれていると、正しく貼り付けられません。

【例】
貼り付けデータ:

"A
B

貼り付け結果:
一つのセル内に以下のように貼り付けられる

"A
B

正しい結果:
先頭のダブルクォーテーションと改行コードは削除される

AB
回避方法
Service Pack 3(v1.0.2016.1207)で修正済みです。
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", "");
  }
}