C# 从对象列表动态更改datagridview中的单元格颜色
有人能帮助我如何在datagridview中添加彩色单元格吗?行信息来自数组列表。如果团队颜色为绿色,我希望单元格也为绿色。我不知道我需要分配什么索引 这是我的密码:C# 从对象列表动态更改datagridview中的单元格颜色,c#,datagridview,C#,Datagridview,有人能帮助我如何在datagridview中添加彩色单元格吗?行信息来自数组列表。如果团队颜色为绿色,我希望单元格也为绿色。我不知道我需要分配什么索引 这是我的密码: private void UC_Teams_Load(object sender, EventArgs e) { TeamList = TeamsOperations.Get(null); dg_teams.Rows.Clear(); foreach (Team t in TeamList) {
private void UC_Teams_Load(object sender, EventArgs e)
{
TeamList = TeamsOperations.Get(null);
dg_teams.Rows.Clear();
foreach (Team t in TeamList)
{
for (int i = 0; i < TeamList.Count; i++)
{
if (t.Color == "RED")
{
dg_teams.Rows.Add(t.ID, t.name, t.Color, t.productOwner, t.scrumMaster);
dg_teams.Rows[i].Cells[2].Style.BackColor = Color.Red;
}
if (t.Color == "BLUE")
{
dg_teams.Rows.Add(t.ID, t.name, t.Color, t.productOwner, t.scrumMaster);
dg_teams.Rows[i].Cells[2].Style.BackColor = Color.Blue;
}
if (t.Color == "GREEN")
{
dg_teams.Rows.Add(t.ID, t.name, t.Color, t.productOwner, t.scrumMaster);
dg_teams.Rows[i].Cells[2].Style.BackColor = Color.Green;
}
if (t.Color == "YELLOW")
{
dg_teams.Rows.Add(t.ID, t.name, t.Color, t.productOwner, t.scrumMaster);
dg_teams.Rows[i].Cells[2].Style.BackColor = Color.Yellow;
}
if (t.Color == "ORANGE")
{
dg_teams.Rows.Add(t.ID, t.name, t.Color, t.productOwner, t.scrumMaster);
dg_teams.Rows[i].Cells[2].Style.BackColor = Color.Orange;
}
}
}
}
我找到了答案。我需要用for循环替换foreach
for (int i = 0; i < TeamList.Count; i++)
{
if (TeamList[i].Color == "RED")
{
dg_teams.Rows.Add(TeamList[i].ID, TeamList[i].name, TeamList[i].Color, TeamList[i].productOwner, TeamList[i].scrumMaster);
dg_teams.Rows[i].Cells[2].Style.ForeColor = Color.Red;
}
if (TeamList[i].Color == "GREEN")
{
dg_teams.Rows.Add(TeamList[i].ID, TeamList[i].name, TeamList[i].Color, TeamList[i].productOwner, TeamList[i].scrumMaster);
dg_teams.Rows[i].Cells[2].Style.ForeColor = Color.Green;
}
if (TeamList[i].Color == "YELLOW")
{
dg_teams.Rows.Add(TeamList[i].ID, TeamList[i].name, TeamList[i].Color, TeamList[i].productOwner, TeamList[i].scrumMaster);
dg_teams.Rows[i].Cells[2].Style.ForeColor = Color.Yellow;
}
if (TeamList[i].Color == "BLUE")
{
dg_teams.Rows.Add(TeamList[i].ID, TeamList[i].name, TeamList[i].Color, TeamList[i].productOwner, TeamList[i].scrumMaster);
dg_teams.Rows[i].Cells[2].Style.ForeColor = Color.Blue;
}
if (TeamList[i].Color == "ORANGE")
{
dg_teams.Rows.Add(TeamList[i].ID, TeamList[i].name, TeamList[i].Color, TeamList[i].productOwner, TeamList[i].scrumMaster);
dg_teams.Rows[i].Cells[2].Style.ForeColor = Color.Orange;
}
如果你在发布后几分钟就找到了解决方案,那么这个问题真的值得发布吗?如果我有问题,我不明白为什么我不能发布。我花了30分钟才找到解决办法。如果我为我自己的问题发布一个答案,有什么问题吗?不,那根本不是问题。这绝对是推荐的。我想说的是,在添加之前,通常值得花更多的精力来解决它。认为这是对未来的建议,而不是别的什么。