2012-04-17 3 views
2

Может ли кто-нибудь предоставить мне рабочий пример создания настраиваемого элемента управления столбцом datagridview со ссылкой? Прежде всего, я не могу использовать LinkColumn, так как мне нужно иметь несколько кликабельных ссылок в одной и той же ячейке. Примеры, найденные во всем Интернете (и, поверьте мне, я искал часы), не совсем помогают из-за моей нехватки знаний. мне нужно чего-то добиться, как в этом макете:C#, Windows Forms, LinkLabel Column

| People | Files   | 
|----------|------------------| 
| Person A | File 1, File 2 | 
| Person B | File 1   | 

Где Файл 1, Файл 2 для Person A и Файл 1 для лица B все различные URL, и нет никакой необходимости для пользовательского текста, просто «Файл 1» , «Файл 2» и т. Д. Идеальная ситуация была бы, если бы моя пользовательская ячейка могла быть привязана к базе данных с параметром в списке List < \ string> UrlList, где элементами этого списка были бы URL-адреса, указывающие на место загрузки для этого файлы, которые будут запускаться в окне браузера при нажатии на соответствующий файл. Может ли кто-нибудь помочь мне с этим или просто указать мне где-нибудь ближе, чем примеры столбцов календаря, предоставленные Microsoft?

+0

Я не хочу. Мне просто нужны некоторые общие указания о том, что делать, поскольку я не знаю, как подойти к этой проблеме. Я знаю, что мне нужно создать собственный хост ячейки/столбца - что лучше - мой собственный пользовательский контроль. Но в принципе нет примеров того, как сделать это эффективно - единственный образец, который я смог найти, даже не доступен для загрузки с сайта Microsoft. Другие пользовательские ячейки всегда выводятся из элемента управления textboxcell, и я не уверен, что это то, что мне нужно. – yas

+0

y dont u положить их в разные столбцы? или использовать поле со списком? даже если положить его в текстовые столбцы, нет способа узнать, какой текст нажал. – Akanksha

+0

Вот почему я склоняюсь к элементу управления linklabel - его можно использовать для размещения отдельных ссылок под одной меткой. Различные столбцы здесь не будут использовать, так как связанный файл данных создается программно, и я не знаю, сколько будет числа максимально возможных ссылок. – yas

ответ

0

Вы можете иметь два различных DataGrids

При выборе одной строки просто заполнить другой DataGrid со всеми файлами

На Cell Нажмите Event просто получить значения из колонки с людьми и заполнить другие сетью с соответствующими файлами.

Вы можете получить значение с помощью этого DataGridView1.SelectedRows(0).Cells(0).Value

При нажатии на ячейке с файлом, который вы хотите вы можете открыть его с чем-то вроде этого.

String webAddress = "http://www.google.com/" 
Process.Start(webAddress)