我正在使用一个相当大的DataGrid绑定到Datatable。我的目标是根据单元格中的数据对单元格组进行着色。基于Datagridview C#中的内容着色组单元格#
我想要datagrid为包含值的所有单元格着色,然后在检测到新值时切换颜色并在整个表格中重复此操作。
以下是对我的工作表中的一个例子:
Contract ID:
123456 //Top of the contract, color all cells in the contract blue
123456 //blue
123456 //blue
123456 //blue
456789 //New contract, color all these cells green
456789 //green
456789 //green
987654 //Another new contract color all these blue (or another color) again
etc...
我已经试过类似的东西下面,但无济于事...
for (int i = 0; i < myDataGridView.Rows.Count; i++)
{
if (i > 0)
{
if (myDataGridView.Rows[i].Cells["contract_id"].Value != myDatagridView.Rows[i-1].Cells["contract_id"].Value)
{
myDataGridView.CurrentRow.Cells["contract_id"].BackColor = Color.Blue;
}
}
}
我不知道从哪里开始,我已经尝试循环遍历行并检查值,但这最终会导致性能和速度的崩溃,并且不会给我所寻找的结果。任何建议将不胜感激。
请记住,您可以使用DataGridViewRow.DataBoundItem属性访问“当前”数据行。您可以通过yourDataGridView1.Rows [e.RowIndex]获取当前的datagridviewrow。 – Luferogo