logo Devexpress WPF控件文档中心
文档首页>>Devexpress WPF控件文档中心>>剪贴板管理

剪贴板管理


剪贴板管理功能提供了执行复制和粘贴操作的功能。

复制操作
描述了如何将数据复制到剪贴板。你和你的终端用户可以从GridControl中复制数据到MS Word,Excel,Outlook和其他应用程序。

void OnClick(object sender, RoutedEventArgs e) {
   grid.CopyRangeToClipboard(0, grid.VisibleRowCount - 1);
}
如果需要连格式都一并复制,可以给TableView添加ClipboardMode属性

<dxg:GridControl>
   <dxg:GridControl.View>
      <dxg:TableView ClipboardMode="Formatted" />
   </dxg:GridControl.View>
</dxg:GridControl>


粘贴操作
描述了如何从剪贴板粘贴数据。你和你的终端用户可以在GridControl中粘贴来自MS Word, Excel, Outlook和其他应用程序的数据。

在运行时粘贴
终端用户可以使用Ctrl+V或Shift+Insert快捷键在GridControl中粘贴纯数据和格式化数据。
粘贴操作有以下具体内容:

  • 如果目标列不能接受粘贴行中的任何值,则跳过该行。
  • 不支持粘贴图形数据。
  • 在更新粘贴模式下,粘贴过程中会跳过只读和不可编辑的列。
  • 如果数据源不允许添加新行,则禁用添加新行。
添加数据
您可以使用粘贴操作向GridControl添加新行。在这种情况下,被粘贴的数据作为新行添加到数据源中,GridControl也被更新。数据源必须支持添加新行才能允许粘贴。
在下图中,粘贴操作将Excel中的数据添加到GridControl中。

<dxg:GridControl>
   <dxg:GridControl.View>
      <dxg:TableView PasteMode="Append" />
   </dxg:GridControl.View>
</dxg:GridControl>
更新数据
可以使用粘贴操作来更新现有GridControl的单元格。在下图中,粘贴操作通过Excel中的数据更新GridControl的数据。
<dxg:GridControl>
   <dxg:GridControl.View>
      <dxg:TableView PasteMode="Update" />
   </dxg:GridControl.View>
</dxg:GridControl>
粘贴代码
您可以使用TableView.OnPaste(或TreeListView.OnPaste)方法在GridControl中粘贴剪贴板中的数据。下面的代码示例演示了如何用剪贴板的数据更新所需的行。
当然,这是按钮事件:
void OnClick(object sender, RoutedEventArgs e) {
   view.FocusedRowHandle = 5;
   view.OnPaste();
}
粘贴加工处理
GridControl提供了以下事件,允许您手动处理粘贴操作。处理这些事件可以覆盖默认的粘贴行为并执行自定义操作。
<dxg:GridControl>
   <dxg:GridControl.View>
      <dxg:TableView PasteMode="Update" ClipboardRowCellValuePasting="OnClipboardRowCellValuePasting" />
   </dxg:GridControl.View>
</dxg:GridControl>
void OnClipboardRowCellValuePasting(object sender, ClipboardRowCellValuePastingEventArgs e) {
   if(e.Column.FieldName == "Group") {
      string pastedString = e.Value.ToString();
      string newString = pastedString.Replace('_', ' ');
      string newCapitalizedString = Regex.Replace(newString, @"(^\w)|(\s\w)", m => m.Value.ToUpper());
      e.Value = newString;
   }
}

在线咨询
联系我们

客服热线
023-68661681

QQ客服

意见反馈


添加微信获专业服务

TOP