将单个单元格的文本复制到剪贴板

时间:2017-12-05 07:53:21

标签: c# wpf cell gridcontrol

我的CurrentCellValue始终为空。

我想标记一行,但如果我选择复制( Ctrl + C )一个单元格,我想要复制该值,现在我得到了整个行。

<dxg:GridControl
    Name="GridControl"
    ColumnsSource="{Binding Columns}"
    ItemsSource="{Binding Orders}"
    ColumnGeneratorTemplate="{StaticResource ColumnTemplate}"
    AutoGenerateColumns="None"
    ColumnGeneratorStyle="{StaticResource CommonColumnStyle}"
    SelectedItems="{Binding SelectedOrders}"
    SelectionMode="Row"
    CustomSummary="GridControl_OnCustomSum"
    SelectionChanged="GridControl_OnSelectionChanged"       
    CopyingToClipboard="GridControl_OnCopyingToClipboard">
private void GridControl_OnCopyingToClipboard(object sender, CopyingToClipboardEventArgs e)
{
    Clipboard.Clear();
    Clipboard.SetText(GetRowData());
    e.Handled = true;
}

private string GetRowData()
{
    return GridControl.CurrentCellValue.ToString();
}

SOLUTION:

 <dxg:TableView Name="GridTableView" NavigationStyle="Cell" />

现在我在CurrentCellValue中有一个值

1 个答案:

答案 0 :(得分:0)

  1. 如果只有一个单元格,您可能希望复制文本:
  2. 您可以将“SelectedItem”绑定添加到GridControl,并在“GridControl_OnCopyingToClipboard”中尝试在selectedItem中找到要复制的相关文本。

    1. 如果您想要从中复制多个单元格,并且您在同一行内单击了哪一个,那么您可能需要重新考虑这一行: SelectionMode =“Row”...并将“Row”更改为“Cell”,然后再次添加“SelectedItem”绑定,如上所述,并从中获取文本