|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - DataGrid и гиперссылка из Access |
|
.NET - DataGrid и гиперссылка из Access
|
Пользователь Сообщения: 78 |
Профиль | Отправить PM | Цитировать Помогите пожалуйста в таком вопросе:
На форме есть DataGrid который получает данные из DataSet-а. DataSet заполняется из БД Access. В БД есть столбцы с гиперссылками (тип данных - гиперссылка). В DataSet гиперссылка попадает в таком виде текст#URI# и также отображается в DataGrid-е (не смотря на то, что соответствующие столбцы - DataGridViewLinkColumn). Пробовал на прямую получать данные в Grid из Access - та же песня... Как заставить Grid правильно отображать гиперссылку? В DataSet-е нет типа данных "гиперссылка". Если в DataSet-е поменять значение (или добавить строку), соблюдая указанный синтаксис - все успешно сохраняется в БД и при ее открытии Access-ом выглядит как надо. А вот в DataGrid отображается без "конвертации"... |
|
Отправлено: 00:33, 01-09-2009 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать avmir, уточните, на чем вы программируете? ASP.NET или же просто Visual C#? Просто варианты ответа отличаются
|
------- Отправлено: 01:47, 01-09-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Не ASP - System.Windows.Forms.DataGridView
|
Отправлено: 12:32, 01-09-2009 | #3 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Никто не знает, что-ли? Весь инет уже облазил а внятного ответа нет...
"Нам бы схемку, аль чертеж"... |
Отправлено: 14:04, 01-09-2009 | #4 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать avmir, вы не забывайте, что программирует немного народу, и ответить могут далеко не все Я сегодня попробую воспроизвести Вашу проблему и отпишу о результатах.
|
|
------- Отправлено: 00:56, 02-09-2009 | #5 |
Ветеран Сообщения: 5624
|
Профиль | Отправить 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; //Заносим в ячейку. } } |
------- Отправлено: 02:25, 02-09-2009 | #6 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Спасибо! Попробую сей вариант. Только не знаю как это отразится на производительности если ячеек, например, 40000...
|
Отправлено: 04:23, 02-09-2009 | #7 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать avmir, а что, вы будете отображать на экране сразу все 40 000 строк? По этому поводу уже много дебатов было. Как правило, делают либо пейджинг, либо еще как.
P.S. 98 000 тестовых записей обрабатывались около 2,5 секунд в DEBUG режиме. P.P.S. А может быть проще в БД хранить ссылки в виде текста, а уже в DataGridView делать DataGridViewLinkColumn на данное поле? Так гораздо быстрее и проще. |
------- Отправлено: 05:35, 02-09-2009 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|