正在从网格视图单元格的工具提示复制文本

本文关键字:工具提示 复制 文本 单元格 视图 网格 | 更新日期: 2023-09-27 18:28:26

我在System.Web.UI.WebControls.Gridview控件(集成在ASP.NET网页中)中显示了一些大文本,结果我只在工具提示中显示了整个文本:

if (e.Row.RowType == DataControlRowType.DataRow)
{
    string bigText = e.Row.Cells[5].Text;
    if (e.Row.Cells[5].Text.Length >= 100)
    {
        e.Row.Cells[5].Text = e.Row.Cells[5].Text.Substring(0, 100) + "...";
        e.Row.Cells[5].ToolTip = bigText;
    }
}

(别介意代码,这只是我所做的一个例子)

问题是,我希望用户能够复制所有文本并最终使用它。更重要的是,如果工具提示很大,它并不能真正显示所有文本,因此能够复制所有文本将非常有帮助。

我可以从工具提示中执行此操作吗?还是我必须执行其他操作?

我想要的功能与从VisualStudio调试器中的数据提示复制错误文本有点相似(尽管我会跳过"复制值"部分)。

正在从网格视图单元格的工具提示复制文本

不幸的是,默认的Tooltips没有提供DataTips功能的右键单击->复制功能。请参阅此处:

http://social.msdn.microsoft.com/Forums/en-US/c508bc09-cae5-4a95-9680-bf77eef9c294/copy-tooltip-content

除非你能找到一个自定义的第三方控件,否则恐怕你将不得不推出自己的解决方案。一种可能是在右键单击GridView行时显示上下文菜单。

这些SO问题包括显示特定行的上下文菜单:

右键单击数据网格视图的上下文菜单

DataGridView右键单击菜单/复制示例?

如何将按下按钮触发将文本保存到剪贴板。

您需要引用System.Windows并将名称空间添加到代码中。

Clipboard.SetText(SelectedValue.Tooltip.Text)

上面显然是sudo代码,但那能解决问题吗?