在C#和ms访问中使用DataGridView超链接时遇到困难

问题描述 投票:-1回答:1

我在c#中具有winform,其中包含显示数据库中的表的datagridview。列之一是超链接数据类型。但是该链接似乎无法正确显示。例如http://google.com在列上显示为#http://google.com#。问题是:如何从超链接列中删除#?如何使链接可访问?我的意思是,每当我单击时,链接就会在浏览器中打开。这是示例pic

c# visual-studio datagridview ms-access-2007 datagridviewlinkcolumn
1个回答
0
投票

您需要单独设置链接列。

我写了一个工作代码示例,您可以看一下。

代码:

 private void Form1_Load(object sender, EventArgs e)
        {
            DataGridViewLinkColumn col1 = new DataGridViewLinkColumn();
            dataGridView1.Columns.Add(col1);
            dataGridView1.Columns[0].Name = "Links";

            DataGridViewRow dgvr = new DataGridViewRow();
            dgvr.CreateCells(dataGridView1);

            DataGridViewCell linkCell = new DataGridViewLinkCell();
            linkCell.Value = @"http:\\www.google.com";
            dgvr.Cells[0] = linkCell;

            dataGridView1.Rows.Add(dgvr);
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Columns[e.ColumnIndex] is DataGridViewLinkColumn && !(e.RowIndex == -1))
            {
                Process.Start(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.