作成日: 2015/10/15 最終更新日: 2016/01/20
文書種別
不具合
状況
修正済み
詳細
複数行1列のセルの最終行が空白の場合、その複数行1列のセルをCtrl+Cでコピーし、他の列にCtrl+Vで貼り付けると、最終行のみ貼り付けできません。
・セルの最終行が空白でない複数行1列のセルをコピーした場合、貼り付けできます。
・1行1列のみコピーした場合、空白でも貼り付けできます。
・複数行複数列のセルをコピーした場合、最終行が空白でも貼り付けできます。
・セルの最終行が空白でない複数行1列のセルをコピーした場合、貼り付けできます。
・1行1列のみコピーした場合、空白でも貼り付けできます。
・複数行複数列のセルをコピーした場合、最終行が空白でも貼り付けできます。
回避方法
この問題はバージョン2.0.20153.110または4.0.20153.110で修正されました。
修正版の適用方法については、アップデートの方法を参照してください。
修正版を適用しない場合の回避方法は次の通りです。
Ctrl+Vキー押下時の処理を下記サンプルコードのように変更します。
◎サンプルコード(Visual Basic)
◎サンプルコード(C#)
修正版の適用方法については、アップデートの方法を参照してください。
修正版を適用しない場合の回避方法は次の通りです。
Ctrl+Vキー押下時の処理を下記サンプルコードのように変更します。
◎サンプルコード(Visual Basic)
Private Sub C1FlexGrid1_KeyDown(sender As Object, e As KeyEventArgs)
If (((e.Modifiers And Keys.Control) = Keys.Control) And (e.KeyCode = Keys.V)) Then
e.Handled = True
Me.PasteEx()
End If
End Sub
Private Sub PasteEx()
Dim text = Clipboard.GetText()
If Not text Is Nothing And text.EndsWith(vbCrLf + vbCrLf) Then
Clipboard.SetText(text + vbCrLf)
End If
Me.C1FlexGrid1.Paste()
Clipboard.SetText(text)
End Sub
If (((e.Modifiers And Keys.Control) = Keys.Control) And (e.KeyCode = Keys.V)) Then
e.Handled = True
Me.PasteEx()
End If
End Sub
Private Sub PasteEx()
Dim text = Clipboard.GetText()
If Not text Is Nothing And text.EndsWith(vbCrLf + vbCrLf) Then
Clipboard.SetText(text + vbCrLf)
End If
Me.C1FlexGrid1.Paste()
Clipboard.SetText(text)
End Sub
◎サンプルコード(C#)
private void c1FlexGrid1_KeyDown(object sender, KeyEventArgs e)
{
if ((e.Modifiers | Keys.Control) == Keys.Control && e.KeyCode == Keys.V)
{
e.Handled = true;
this.PasteEx();
}
}
private void PasteEx()
{
string text = Clipboard.GetText();
if (text != null && text.EndsWith(Environment.NewLine + Environment.NewLine))
Clipboard.SetText(text + Environment.NewLine);
this.c1FlexGrid1.Paste();
Clipboard.SetText(text);
}
{
if ((e.Modifiers | Keys.Control) == Keys.Control && e.KeyCode == Keys.V)
{
e.Handled = true;
this.PasteEx();
}
}
private void PasteEx()
{
string text = Clipboard.GetText();
if (text != null && text.EndsWith(Environment.NewLine + Environment.NewLine))
Clipboard.SetText(text + Environment.NewLine);
this.c1FlexGrid1.Paste();
Clipboard.SetText(text);
}
旧文書番号
81473