如何使用DataGridViewLinkColumn在一列中显示链接

时间:2019-08-28 09:57:48

标签: c# winforms

我尝试将数据放入DataGridView中,并用一列显示“链接”,但是它根据“链接数据”的数量创建列

ArrayList row = new ArrayList();
foreach (S3Object entry in response.S3Objects)
{
    row = new ArrayList();
    row.Add(Path.GetFileName(entry.Key.ToString()));
    row.Add((double)entry.Size / 1024 / 1024 + " MB");
    row.Add(entry.LastModified);
    row.Add(entry.Owner.DisplayName);
    DTGfilenames.Rows.Add(row.ToArray());

    DataGridViewLinkColumn dgvLink = new DataGridViewLinkColumn();
    dgvLink.UseColumnTextForLinkValue = true;
    dgvLink.LinkBehavior = LinkBehavior.SystemDefault;
    dgvLink.HeaderText = "Preview";
    dgvLink.Name = "URLHERE";
    dgvLink.LinkColor = Color.Blue;
    dgvLink.TrackVisitedState = true;
    dgvLink.Text = "URLHERE";
    dgvLink.UseColumnTextForLinkValue = true;
    Console.WriteLine(dgvLink.Name + "  " + dgvLink.Text);
    DTGfilenames.Columns.Add(dgvLink);
}

Current result

1 个答案:

答案 0 :(得分:0)

由于mahwebsite.com/about在foreach循环内而创建了新列。

如果数组中有10个项目,它将循环10次并创建10x列链接。

但是您可以尝试在循环中删除DTGfilenames.Columns.Add(dgvLink);并将其粘贴到循环之前

相关问题