【问题标题】:C#, Windows Forms, LinkLabel ColumnC#、Windows 窗体、LinkLabel 列
【发布时间】:2012-04-17 08:28:12
【问题描述】:

谁能为我提供一个创建自定义 datagridview 列控件的工作示例,其中包含一个链接标签? 首先,我不能使用 LinkColumn,因为我需要在同一个单元格中有多个可点击的链接。由于我缺乏知识,在互联网上找到的例子(相信我,我已经搜索了几个小时)并没有完全帮助。 我需要在这个模型中实现类似的东西:

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

文件 1、A 的文件 2 和 B 的文件 1 都是不同的 URL,不需要自定义文本,只需“文件 1”、“文件 2”等。理想的情况是,如果我自定义单元格可以使用 List UrlList 之类的参数进行数据绑定,其中该列表的元素将是指向该文件下载位置的 URL,当单击合适的文件时,它将在浏览器窗口中启动. 谁能帮我解决这个问题,或者只是指出我比 Microsoft 提供的日历列示例更近的地方?

【问题讨论】:

  • 我不想。我只需要一些关于如何做的一般指导,因为我不知道如何解决这个问题。我知道我需要创建一个自定义单元格/列托管 - 最好的是 - 我自己的用户控件。但是基本上没有关于如何有效地做到这一点的示例——我能够找到的唯一示例甚至无法从 Microsoft 的站点下载。其他自定义单元格始终来自 textboxcell 控件,我不确定这是否是我需要的。
  • 你不把它们放在不同的列吗?或使用组合框?即使放在文本列中,也无法知道您单击了哪个文本。
  • 这就是为什么我倾向于使用 linklabel 控件 - 它可用于在一个标签下托管不同的链接。不同的列在这里用处不大,因为绑定的数据表是以编程方式生成的,我不知道最大可能链接的数量是多少。

标签: c# windows forms datagridview linklabel


【解决方案1】:

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

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

在单元格单击事件中,只需从您的人员列中获取值并使用相关文件填充其他网格。

你可以使用这个来获取价值 DataGridView1.SelectedRows(0).Cells(0).Value

当你点击包含你想要的文件的单元格时,你可以用类似的东西打开它。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2011-04-23
    • 2015-07-21
    • 2011-08-16
    • 1970-01-01
    相关资源
    最近更新 更多