Возникли трудности с гиперссылкой DataGridView при доступе к С# и ms

У меня есть winform в С#, который содержит datagridview, отображающий таблицу из моей базы данных. Один из столбцов является типом данных гиперссылки. Но ссылка не отображается корректно. например, http://google.com отображается как #http://google.com# в столбце. Возникает вопрос: как удалить # из столбца гиперссылок? Как сделать ссылку доступной? Я имею в виду, что всякий раз, когда я нажимаю, ссылка открывается в браузере. Вот пример pic


person Cyb Fyr    schedule 31.10.2019    source источник
comment
Есть ли символы фунта в базе данных? Должны ли они быть в базе данных? Возможно, проблема в коде, который неправильно поместил фунты в базу данных.   -  person jdweng    schedule 31.10.2019
comment
Проверьте свою базу данных, как хранятся ссылки. Что касается второй части вашего вопроса, пожалуйста, проверьте Как обрабатывать щелчок событие DataGridViewLinkColumn, удачи.   -  person    schedule 31.10.2019
comment
Я проверил базу данных, и ссылка в порядке, там нет знака #. Я предполагаю, что у него проблема с типом данных, потому что это гиперссылка на доступ Microsoft.   -  person Cyb Fyr    schedule 31.10.2019


Ответы (1)


Вам нужно установить столбец ссылок отдельно.

Я пишу пример рабочего кода, и вы можете посмотреть.

Код:

 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());
            }
        }
person Jack J Jun - MSFT    schedule 01.11.2019
comment
Спасибо за ваш ответ. Я действительно, наконец, понял это. Фактическая проблема в базе данных, и она исправлена. - person Cyb Fyr; 06.11.2019