如何给dataGridView的一列加上超链接

zhaoenxiang100 2010-01-08 09:32:49
在dataGridView中有一列名为网址,存入的是我查出的所有网址,我想给每个网址加上超链接,但不知道怎么实现?
拜托各位帮帮忙吧!!!
是winform窗口
...全文
2531 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-12-05
  • 打赏
  • 举报
回复
当把列改成是DataGridViewLinkColumn时 可是标题列怎么也加上超链接了,我只想给单元格加上超链接,不给标题列加
cena_jin 2010-01-08
  • 打赏
  • 举报
回复
来吼吼!!!
zhaoenxiang100 2010-01-08
  • 打赏
  • 举报
回复
之后加一个事件 打开每一个链接
code=C#]
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 5)
{
System.Diagnostics.Process.Start("iexplore.exe", this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
}
}[
[/code]
wxm3630478 2010-01-08
  • 打赏
  • 举报
回复
判断文本是否是个 链接....

文字改成 蓝色 + 一个下滑线......

---System.Diagnostics.Process.Start("链接"); // 单击单元格时 用这个发送
maomao90 2010-01-08
  • 打赏
  • 举报
回复
把要显示连接的那一列设置为模板列,然后在模板列里面加link就可以啦
zhaoenxiang100 2010-01-08
  • 打赏
  • 举报
回复
想到了一特傻的方法:
先添加一列:

private void AddLinkColumn()
{
DataGridViewLinkColumn links = new DataGridViewLinkColumn();
links.HeaderText = "网址";
links.DataPropertyName = "网址";
links.ActiveLinkColor = Color.White;
links.LinkBehavior = LinkBehavior.SystemDefault;
links.LinkColor = Color.Blue;
links.TrackVisitedState = true;
links.VisitedLinkColor = Color.YellowGreen;

dataGridView1.Columns.Add(links);
}

之后再把原来的网址列给隐藏了
this.dataGridView1.Columns[4].Visible = false;
这样做可以实现,但是是不是太傻了?
kensouterry 2010-01-08
  • 打赏
  • 举报
回复
类 说明
DataGridViewTextBoxColumn
与基于文本的值一起使用。在绑定到数字和字符串时自动生成。

DataGridViewCheckBoxColumn
与 Boolean 和 CheckState 值一起使用。在绑定到这些类型的值时自动生成。

DataGridViewImageColumn
用于显示图像。在绑定到字节数组、Image 对象或 Icon 对象时自动生成。

DataGridViewButtonColumn
用于在单元格中显示按钮。不会在绑定时自动生成。通常用作未绑定列。

DataGridViewComboBoxColumn
用于在单元格中显示下拉列表。不会在绑定时自动生成。通常手动进行数据绑定。

DataGridViewLinkColumn
用于在单元格中显示链接。不会在绑定时自动生成。通常手动进行数据绑定。


--
如果你是直接绑定出来的数据,估计是不可能的!
hs1983 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhaoenxiang100 的回复:]
这个是添加列,我不是想添加列,而是想把一普通列变为DataGridViewLinkColumn
[/Quote]
把该列ColumnType属性设为:DataGridViewLinkColumn
zhaoenxiang100 2010-01-08
  • 打赏
  • 举报
回复
这个是添加列,我不是想添加列,而是想把一普通列变为DataGridViewLinkColumn
kensouterry 2010-01-08
  • 打赏
  • 举报
回复
点击Dgv控件,选择“添加列”,然后再类型中指定“DataGridViewLinkColumn”,然后就可以添加这个列了。
这种问题参考MSDN比较好!
zhaoenxiang100 2010-01-08
  • 打赏
  • 举报
回复
但是如何将DataGridView某列设置为DataGridViewLinkColumn?
wuzhicheng5 2010-01-08
  • 打赏
  • 举报
回复
2楼的办法可以实现,正解
hs1983 2010-01-08
  • 打赏
  • 举报
回复
你在DATAGRIDVIEW里面添加datagridviewlinkcolumn列
单击时转到指定网址
private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 2)
{

System.Diagnostics.Process.Start("iexplore.exe", "http://www.***.com");


}
}
zagj11 2010-01-08
  • 打赏
  • 举报
回复
其实答案很简单,cell本身就具有点击事件.只要加上链接就行了,具体的效果具体再根据实际需要调整

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧