我想将自定义对象关联到 a 中的每个单元格,DataTable
以便DataRow
在从 DataGridView 获得的事件上,我可以自定义颜色和其他行为。因此,当我添加新行时,我会执行以下操作:
DataRow oRow = dtItens.NewRow();
oRow["CodFamilia"] = new ClsCelula(TipoCelula.tcMostrar, "", Color.White);
oRow["Familia"] = new ClsCelula(TipoCelula.tcMostrar, "", Color.White);
oRow["Item"] = new ClsCelula(TipoCelula.tcMostrar, "", Color.White);
oRow["Descricao"] = new ClsCelula(TipoCelula.tcMostrar, "", Color.White);
oRow["Referencia"] = new ClsCelula(TipoCelula.tcMostrar, "Saldo Inicial", Color.Aqua);
dtItens.Rows.Add(oRow);
在 DataGridView 的 CellFormatting 事件中,我想让我的 ClsCelula 对象读取它的属性,如下所示:
Object oCelula = dtItens.Rows[e.RowIndex][e.ColumnIndex];
if (oCelula != null)
{
if (oCelula is ClsCelula)
{
ClsCelula oValorCelula = (ClsCelula)oCelula;
e.CellStyle.BackColor = oValorCelula.Cor;
}
}
但是,这不起作用,因为ToString()
当我读取行/列索引时,代码可能正在调用,所以 oCelula 始终是System.String
. 有没有办法解决?如何访问“真实”对象?