上下文
我正在使用C#,WinForm,我的问题是关于DataGridView,确切地说是单元格类型。
我需要从API获取数据,并在一些过滤器之后,在DataGridView中显示它们。 基于winform,而不是GUI的责任,我需要使用我得到的东西。
实际上,数据和单元格类型已经定义,如下所示: [文字] - [文字] - [复选框] - [超链接] - [按钮]
文字和复选框很容易完成,但我的问题来自链接和按钮
需要:
链接和按钮需要有文本和值。 文本将始终相同("在网站上查看"和"下载"),但需要进行本地化。 值将根据每个实体的API而变化。 在链接上单击,它将打开浏览器到URL(链接值),然后在按钮单击,它将下载文件。
问题:
我所有的搜索都进入了最后一点。 Tuto和问题通过以下方式解答:在代码中定义DataGridView,然后构建列类型等。 在我这方面,这是不可能的,因为列类型已经由负责GUI端的开发人员定义。
实际上,我试过这个。 (不适用于Link和Button)
private void BindGrid(List<ProductModel> listProducts)
{
foreach(var product in listProducts)
{
var websiteLink = new DataGridViewLinkCell();
websiteLink.Value = product.WebsiteDetailsUrl;
var buttonDownload = new DataGridViewButtonCell();
buttonDownload.Value = product.UpdateUrl;
buttonDownload.ToolTipText = "Download";
// [Text] [Text] [Checkbox] [HyperLink] [Button]
grid_Products.Rows.Add(product.Title, product.Type, product.IsPaid, websiteLink, buttonDownload);
}
}
非常感谢任何提示或建议。