for (int i = 0; i < countriesCodes.Length; i++)
{
dataGridView1.ColumnCount = 2;
dataGridView1.Columns[0].Name = "Status";
dataGridView1.Columns[1].Name = "Country";
var countryName = codeToFullNameMap[countriesCodes[i]];
string[] row = new string[] { "Ready", countryName };
dataGridView1.Rows.Add(row);
DataGridViewLinkColumn dgvLink = new DataGridViewLinkColumn();
dgvLink.UseColumnTextForLinkValue = true;
dgvLink.LinkBehavior = LinkBehavior.SystemDefault;
dgvLink.HeaderText = "Link Data";
dgvLink.Name = "SiteName";
dgvLink.LinkColor = Color.Blue;
dgvLink.TrackVisitedState = true;
dgvLink.Text = lines[i];
dgvLink.UseColumnTextForLinkValue = true;
dataGridView1.Columns.Add(dgvLink);
}
this.dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.EnableHeadersVisualStyles = false;
dataGridView1.DefaultCellStyle.SelectionBackColor = dataGridView1.DefaultCellStyle.BackColor;
dataGridView1.DefaultCellStyle.SelectionForeColor = dataGridView1.DefaultCellStyle.ForeColor;
dataGridView1.RowHeadersVisible = false;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
dataGridView1.Columns[0].DefaultCellStyle.ForeColor = Color.Red;
最后一行应该为第一列下的单元格着色:
dataGridView1.Columns[0].DefaultCellStyle.ForeColor = Color.Red;
如果我将其更改为列1,它将为红色的所有单元格着色。但是当它是Columns [0]时,状态下的第一个单元格(在屏幕截图中)仍然是黑色。
单词Ready在状态下的第一个单词Ready是黑色的。无法弄清楚为什么它也没有着色。如果我为列1下的单元格着色,它将为所有单元格着色,但我想为列中的状态下的那些着色[0]
答案 0 :(得分:2)
如果您将所选单元格移动到另一个cell
,您会看到该项目也有红色forecolor
。这两行会覆盖选择颜色。评论他们或给出符合逻辑的东西以避免混淆。
dataGridView1.DefaultCellStyle.SelectionBackColor = dataGridView1.DefaultCellStyle.BackColor;
dataGridView1.DefaultCellStyle.SelectionForeColor = dataGridView1.DefaultCellStyle.ForeColor;
编辑1:
对于您评论过的问题,请将它们设置为透明。
dataGridView1.DefaultCellStyle.SelectionBackColor = System.Drawing.Color.Transparent;
dataGridView1.DefaultCellStyle.SelectionForeColor = System.Drawing.Color.Transparent;
希望有所帮助,
答案 1 :(得分:-1)
我也有同样的问题。我通过在“ For”周期中添加一个条件来解决该问题。对于您的情况,您需要输入:
if(i == 0)
{
countriesCodes.Colums[0].Selected = false;
}
我认为缺少颜色是由于单元格选择的颜色错误。让我知道问题是否已经解决。
Andrea Veglia