使用DatagridView单元格

时间:2016-06-17 09:05:58

标签: c# winforms datagridview

上下文

我正在使用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);
    }
}

非常感谢任何提示或建议。

0 个答案:

没有答案