Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
2 / 2 / 0
Регистрация: 27.03.2014
Сообщений: 9
1

Не работает ссылка в DataGridViewLinkColumn

11.08.2015, 04:48. Показов 2355. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
добавил таблицу создал колонки через панель элементов, и одну колонку сделал DataGridViewLinkColumn добавляю строки таблицы вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            XDocument xDoc = XDocument.Load(@"http://site.ru/order.xml");
            foreach (XElement elm in xDoc.Descendants("order"))
            {
                dataGridView1.Rows.Add(elm.Element("id").Value,
                                    elm.Element("date").Value,
                                    elm.Element("name").Value,
                                    elm.Element("edit_link").Value);
            }
        }
    }
}
переменная со ссылкой последняя, то есть edit_link.
но ссылка не работает, то есть выходит ссылка, при нажатии меняет свет, но не открывает браузер и не переходит на сайт. подскажите пожалуйста, в форуме всю ночь искал, так и не нашел.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2015, 04:48
Ответы с готовыми решениями:

как убрать подчёркивание DataGridViewLinkColumn
подскажите как убрать подчёркивание DataGridViewLinkColumn

DataGridViewLinkColumn - сделать ячейку редактируемой
Как сделать / лучше сделать данный тип колонки редактируемой? например по двойному клику по...

DataGridViewLinkColumn сделать только для чтения
Добрый день.Помогите решить проблему, есть Datagridview один из столбцов которой типа...

Ссылка не работает на сайте, но работает в окне разработчика
Столкнулся с проблемой, на сайте не работает ссылка в слайдере, но при открытии окна разработчика...

13
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
11.08.2015, 06:01 2
bulatei, создайте обработчик события.

https://msdn.microsoft.com/ru-... .110).aspx
1
2 / 2 / 0
Регистрация: 27.03.2014
Сообщений: 9
11.08.2015, 07:36  [ТС] 3
Цитата Сообщение от Pasterna AS Посмотреть сообщение
bulatei, создайте обработчик события.

https://msdn.microsoft.com/ru-... .110).aspx
C#
1
2
3
4
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
         
}
вот это нужно ставить. а как именно ссылку открыть в браузере, простите. именно ссылки открывать не могу.
0
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
11.08.2015, 08:25 4
Лучший ответ Сообщение было отмечено bulatei как решение

Решение

bulatei, подобный вопрос.
Ссылки в DataGridView

а в обработчике
C#
1
Process.Start("IExplore.exe", "http://www.google.ru/");
на мсдн есть пример, там проверка идет
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
 
        if (IsANonHeaderLinkCell(e))
        {
            MoveToLinked(e);
        }
        else if (IsANonHeaderButtonCell(e))
        {
            PopulateSales(e);
        }
    }
0
2 / 2 / 0
Регистрация: 27.03.2014
Сообщений: 9
11.08.2015, 08:57  [ТС] 5
C#
1
Process.Start("IExplore.exe", "http://www.google.ru/");
этот код находил ставлю, но пишет Имя "Process" отсутствует в текущем контексте
0
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
11.08.2015, 09:43 6
Лучший ответ Сообщение было отмечено bulatei как решение

Решение

bulatei, значит не подключена библиотека, у меня все прекрасно сработало.

Добавлено через 2 минуты
bulatei, а куда именно вы процесс ставите в коде? можно полностью увидеть?

C#
1
using System.Diagnostics
после этого должно работать
1
2 / 2 / 0
Регистрация: 27.03.2014
Сообщений: 9
11.08.2015, 09:56  [ТС] 7
да из-за этого было, все супер работает большое спасибо

Добавлено через 9 минут
а еще как вытащить значение ячейки которую я внес, то есть ссылку, чтобы вставить вместо google.ru
C#
1
Process.Start("IExplore.exe", "http://www.google.ru/");
0
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
11.08.2015, 10:14 8
bulatei, что простите? вам надо другой сайт? так перепишите? или что вы имеет ввиду
0
2 / 2 / 0
Регистрация: 27.03.2014
Сообщений: 9
11.08.2015, 10:37  [ТС] 9
первый пост посмотрите, я записываю таблицу в цикле
C#
1
2
3
4
dataGridView1.Rows.Add(elm.Element("id").Value,
                                    elm.Element("date").Value,
                                    elm.Element("name").Value,
                                    elm.Element("edit_link").Value);
у каждой строки edit_link свой, вот эту ссылку нужно записывать вместо google.ru
0
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
11.08.2015, 11:07 10
bulatei, так, у всех строк разные линки? получается вам надо создать переменную, в которую будет помещаться то, что вы выбрали в гриде и передаваться в функцию Process.Start
0
2 / 2 / 0
Регистрация: 27.03.2014
Сообщений: 9
12.08.2015, 01:15  [ТС] 11
да линки разные, вот как до него добраться чтобы в переменную поместить. Cхему примерно понимаю
C#
1
2
3
4
5
6
7
8
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 3)
            {
                 string ssylka = что-то тут писать;
                 Process.Start("browser.exe", ssylka);
            }
        }
Добавлено через 13 часов 58 минут
C#
1
2
string ssylka = dataGridView1[8, dataGridView1.CurrentRow.Index].Value.ToString();
Process.Start("browser.exe", ssylka);
пишу так. все нормально если в свойствах столбца UseColumnTextForLinkValue стоит false, а если true то вместо ссылки выходит текст ссылки а как именно ссылку вытащить?
0
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
12.08.2015, 05:43 12
bulatei, посмотрите этот пост.

http://www.sql.ru/forum/455758... tagridview

и если не трудно, то скиньте проект. а то так трудно разобраться.
0
2 / 2 / 0
Регистрация: 27.03.2014
Сообщений: 9
12.08.2015, 16:41  [ТС] 13
Разобрался.
Создал еще одну невидимую колонку добавил туда тоже самое значение что и в колонке 3, потом при нажатии на текст ссылки в третий колонке сделал событие, которое брал значение 4 колонки и переход в браузер.
Возможно не очень правильно, самое главное работает).
Вот код, может кому понадобиться.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
using System.Diagnostics;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            XDocument xDoc = XDocument.Load(@"http://site.ru/order.xml");
            foreach (XElement elm in xDoc.Descendants("order"))
            {
                dataGridView1.Rows.Add(elm.Element("id").Value,
                                    elm.Element("date").Value,
                                    elm.Element("name").Value,
                                    elm.Element("edit_link").Value,
                    elm.Element("edit_link").Value);
            }
            
            
        }
 
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 3)
            {
                string ssylka = dataGridView1[4, dataGridView1.CurrentRow.Index].Value.ToString();
                Process.Start("browser.exe", ssylka);
            }
        }
    }
}
2
1 / 1 / 0
Регистрация: 20.01.2016
Сообщений: 10
02.03.2016, 01:32 14
Хтоб напомнил новичку, что с нуля надо начинать считать, не сидел бы он до половины второго ночи

P.S. Спасибо, очень помогли!
1
02.03.2016, 01:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2016, 01:32
Помогаю со студенческими работами здесь

не работает ссылка в ИЕ
подскажите почему может не работать: <a href="http://www.google.com.ua/"><input class="IMG"...

Не работает ссылка
Всем здравствуйте, у меня небольшая проблема. Вот код футера, почему то не работает перенаправление...

Не работает ссылка
После установки определенного скрипта не работает простейшее. При нажатии на ссылку не происходит...

Не работает ссылка
В ajax на локальном хостинге url вида filename.php работает, а на сайте - нет. Пробовал писать...

Не работает ссылка
Доброго дня всем. Снова обращаюсь за помощью. В одном тексте на одно и то же повторяющееся слово...

Ссылка не работает
<a href="https://---------------/mancgi/partnerprogram?partner=9658&project=1"><img...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru