我尝试将数据放入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);
}

发布于 2019-08-28 21:23:28
它创建了新的列,因为在foreach循环中有DTGfilenames.Columns.Add(dgvLink);。
如果数组中有10个项目,它将循环10x并创建列链接10x。
但是您可以尝试删除循环内部的DataGridViewLinkColumn dgvLink = new DataGridViewLinkColumn();,并将其粘贴到循环之前
https://stackoverflow.com/questions/57689724
复制相似问题