Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - DataGrid и гиперссылка из Access

Ответить
Настройки темы
.NET - DataGrid и гиперссылка из Access

Пользователь


Сообщения: 78
Благодарности: 0

Профиль | Отправить PM | Цитировать


Помогите пожалуйста в таком вопросе:

На форме есть DataGrid который получает данные из DataSet-а. DataSet заполняется из БД Access. В БД есть столбцы с гиперссылками (тип данных - гиперссылка).
В DataSet гиперссылка попадает в таком виде

текст#URI#

и также отображается в DataGrid-е (не смотря на то, что соответствующие столбцы - DataGridViewLinkColumn).
Пробовал на прямую получать данные в Grid из Access - та же песня...
Как заставить Grid правильно отображать гиперссылку?

В DataSet-е нет типа данных "гиперссылка". Если в DataSet-е поменять значение (или добавить строку), соблюдая указанный синтаксис - все успешно сохраняется в БД и при ее открытии Access-ом выглядит как надо.
А вот в DataGrid отображается без "конвертации"...

Отправлено: 00:33, 01-09-2009

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


avmir, уточните, на чем вы программируете? ASP.NET или же просто Visual C#? Просто варианты ответа отличаются

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:47, 01-09-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 78
Благодарности: 0

Профиль | Отправить PM | Цитировать


Не ASP - System.Windows.Forms.DataGridView

Отправлено: 12:32, 01-09-2009 | #3


Пользователь


Сообщения: 78
Благодарности: 0

Профиль | Отправить PM | Цитировать


Никто не знает, что-ли? Весь инет уже облазил а внятного ответа нет...
"Нам бы схемку, аль чертеж"...

Отправлено: 14:04, 01-09-2009 | #4


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


avmir, вы не забывайте, что программирует немного народу, и ответить могут далеко не все Я сегодня попробую воспроизвести Вашу проблему и отпишу о результатах.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 00:56, 02-09-2009 | #5


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Значит так. Полазив по инету, ничего толкового тоже не нашел, поэтому предлагаю альтернативный вариант: замена данных непосредственно в ячейках после заполнения грида. Пример:

Код: Выделить весь код
private void Form1_Load(object sender, EventArgs e)
        {
            this.tmpTableAdapter.Fill(this.testDataSet.tmp);
            
            string hyperlink = ""; 
            int index = 0;
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                hyperlink = row.Cells[2].FormattedValue.ToString(); //Берем нашу строку вида www.ya.ru#www.ya.ru@#                       
                index = hyperlink.IndexOf("#"); //Ищем знак #
                hyperlink = hyperlink.Substring(index + 1, hyperlink.Substring(index + 1).Length - 1); //Вычисляем подстроку.
                row.Cells[2].Value = hyperlink; //Заносим в ячейку.

            }

        }
В таком варианте все работает. В примере код вставлен сразу после заполнения грида. Можно преобразовать его в функцию и вызывать когда необходимо. Само собой, надо будет в строке row.Cells[2].Value вместо 2 поставить нужный столбец.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 02:25, 02-09-2009 | #6


Пользователь


Сообщения: 78
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо! Попробую сей вариант. Только не знаю как это отразится на производительности если ячеек, например, 40000...

Отправлено: 04:23, 02-09-2009 | #7


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


avmir, а что, вы будете отображать на экране сразу все 40 000 строк? По этому поводу уже много дебатов было. Как правило, делают либо пейджинг, либо еще как.
P.S. 98 000 тестовых записей обрабатывались около 2,5 секунд в DEBUG режиме.

P.P.S. А может быть проще в БД хранить ссылки в виде текста, а уже в DataGridView делать DataGridViewLinkColumn на данное поле? Так гораздо быстрее и проще.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 05:35, 02-09-2009 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - DataGrid и гиперссылка из Access

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Visual Basic 6: adodc и datagrid DestR0yer Программирование и базы данных 6 13-01-2010 15:35
Интернет - Как изменить Access Lokal на Access Lokal and Internet? amilo Microsoft Windows Vista 1 23-07-2009 00:00
Доступ - Не работает гиперссылка В WordPad Bilane Microsoft Windows 2000/XP 3 30-05-2009 19:11
Unable to access the computer. Access is denied Maf1a Microsoft Windows NT/2000/2003 2 13-07-2007 15:42
Delphi - *Delphi* | Гиперссылка на форме alex41k22 Программирование и базы данных 1 09-07-2005 20:18




 
Переход