将数据从XML导入DataGridView
本文关键字:导入 DataGridView XML 数据 | 更新日期: 2023-09-27 18:26:44
我正在从XML文档导入数据以填充DataGridView。在导入过程中,我更改了一些单元格的背景颜色。然而,当我添加行时,单元格的颜色没有正确更新(我得到一个灰色单元格)。我不确定是否有一个地方我应该使DataGridView无效,以使单元格正确显示。
我应该指出,我的DataGridView不是数据绑定的。
一些参考代码:
DataGridViewRow row = (DataGridViewRow)dataGridView1.Rows[0].Clone();
for(int j = 0; j < dataGridView1.ColumnCount; ++j)
{
if(j == 2)
{
row.Cells[j + 1].Style.BackColor = layer.Color;
}
}
this.dataGridView1.Rows.AddRange(row);
您可能需要覆盖CellFormatting或RowPostPaint事件并在那里执行。
我想我在尝试给DataGridView上色时遇到了同样的事情,这就是我解决它的方法
private void gridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
foreach (DataGridViewRow row in gridView.Rows)
if (row.Cells["Status"].Value.ToString() == "Posted")
if (row.Cells["Priority"].Value.ToString() == "High")
foreach (DataGridViewCell cell in row.Cells)
cell.Style.BackColor = Color.LightPink;
else
foreach (DataGridViewCell cell in row.Cells)
cell.Style.BackColor = Color.Yellow;
}
单元格格式:
private void gridItems_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.CellStyle.BackColor != Color.Yellow && e.CellStyle.BackColor != Color.LightPink)
e.CellStyle.BackColor = Color.LightGreen;
}
我希望这能有所帮助!