C# C、 Windows窗体,链接标签列

C# C、 Windows窗体,链接标签列,c#,windows,forms,datagridview,linklabel,C#,Windows,Forms,Datagridview,Linklabel,有人能给我提供一个创建自定义datagridview列控件的工作示例吗? 首先,我不能使用LinkColumn,因为我需要在同一单元格中有多个可单击的链接。互联网上到处都有这样的例子,相信我,我已经搜索了好几个小时,但由于我缺乏知识,这些都没有帮助。 我需要在这个模型中实现以下目标: | People | Files | |----------|------------------| | Person A | File 1, File 2 | | Person B

有人能给我提供一个创建自定义datagridview列控件的工作示例吗? 首先,我不能使用LinkColumn,因为我需要在同一单元格中有多个可单击的链接。互联网上到处都有这样的例子,相信我,我已经搜索了好几个小时,但由于我缺乏知识,这些都没有帮助。 我需要在这个模型中实现以下目标:

| People   | Files            |
|----------|------------------|
| Person A | File 1, File 2   |
| Person B | File 1           |
其中,个人A的文件1、文件2和个人B的文件1都是不同的URL,不需要自定义文本,只需要文件1、文件2等。理想的情况是,如果我的自定义单元格可以使用类似列表UrlList的参数进行数据绑定,其中该列表的元素是指向该文件下载位置的URL,当单击合适的文件时,该URL将在浏览器窗口中启动。
有人能帮我吗,或者只是给我指出一个比微软提供的日历列示例更近的地方吗?

你可以有两个不同的数据网格

选择一行时,只需用所有文件填充另一个数据网格

在“单元格单击”事件中,只需从“人员”列中获取值,并用关联的文件填充另一个网格

您可以使用此函数获取值 DataGridView1.SelectedRows0.Cells0.Value

当你点击包含你想要的文件的单元格时,你可以像这样打开它

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

您可以有两个不同的数据网格

选择一行时,只需用所有文件填充另一个数据网格

在“单元格单击”事件中,只需从“人员”列中获取值,并用关联的文件填充另一个网格

您可以使用此函数获取值 DataGridView1.SelectedRows0.Cells0.Value

当你点击包含你想要的文件的单元格时,你可以像这样打开它

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

我不想。我只是需要一些关于如何做的一般指导,因为我不知道如何处理这个问题。我知道我需要创建一个自定义的单元格/列宿主—最好的—我自己的usercontrol。但是基本上没有关于如何有效地做到这一点的例子——我能找到的唯一的例子甚至不能从微软的网站下载。其他自定义单元格总是从textboxcell控件派生,我不确定这是否是我需要的。你不把它们放在不同的列中吗?还是使用组合框?即使把它放在文本列中,也无法知道你点击了哪个文本。这就是为什么我倾向于使用linklabel控件-它可以用来在一个标签下承载不同的链接。不同的列在这里没有多大用处,因为绑定的数据表是通过编程生成的,我不知道最大可能链接的数量。我不想这样做。我只是需要一些关于如何做的一般指导,因为我不知道如何处理这个问题。我知道我需要创建一个自定义的单元格/列宿主—最好的—我自己的usercontrol。但是基本上没有关于如何有效地做到这一点的例子——我能找到的唯一的例子甚至不能从微软的网站下载。其他自定义单元格总是从textboxcell控件派生,我不确定这是否是我需要的。你不把它们放在不同的列中吗?还是使用组合框?即使把它放在文本列中,也无法知道你点击了哪个文本。这就是为什么我倾向于使用linklabel控件-它可以用来在一个标签下承载不同的链接。不同的列在这里没有多大用处,因为绑定的datatable是通过编程生成的,我不知道最大可能链接的数量是多少。