Mar*_*ata 4 .net c# datagridview winforms
的.SelectionMode的DataGridView让你选择所有单元格和行标题,或所有的细胞和列标题,但我无法弄清楚如何让用户选择的一切,包括行标题和列标题在同一时间.
我想让用户能够将整个表格(包括列标题)复制并粘贴到另一个文档中,如文本或格式化文本,如Word或电子邮件.它开箱即用,除了你不能得到列标题.
Eva*_*n L 11
我能够实现这一目标的唯一方法是创建ToolStripMenuItem一个ContextMenu控件.
首先,我创建覆盖默认的方法ClipboardCopyMode为DataGridView:
public void CopyToClipboardWithHeaders(DataGridView _dgv)
{
//Copy to clipboard
_dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
DataObject dataObj = _dgv.GetClipboardContent();
if (dataObj != null)
Clipboard.SetDataObject(dataObj);
}
Run Code Online (Sandbox Code Playgroud)
然后我调用该方法并将其传递GridView给ToolStripMenuItem:的click事件:
private void copyWithHeadersToolStripMenuItem_Click(Object sender, EventArgs e)
{
CopyToClipboardWithHeaders(dgv);
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
在Visual Studio 2013中,winforms datagridview具有各种可用于ClipboardCopyMode的枚举.要显示标题文本,用户将使用"EnableAlwaysIncludeHeaderText"枚举. 微软参考
禁用
复制到剪贴板已禁用.
EnableAlwaysIncludeHeaderText
可以将所选单元格的文本值复制到剪贴板.包含所选单元格的行和列包含标题文本.
EnableWithAutoHeaderText
可以将所选单元格的文本值复制到剪贴板.仅当DataGridView.SelectionMode属性设置为RowHeaderSelect或ColumnHeaderSelect并且至少选择了一个标头时,才会为包含所选单元格的行或列包含行或列标题文本.
EnableWithoutHeaderText
可以将所选单元格的文本值复制到剪贴板.标题文本不包括在内.
| 归档时间: |
|
| 查看次数: |
12665 次 |
| 最近记录: |