为什么我第一次cellInfo.add放了一个对象后,第二次添加,会将cellInfo里的两个数据都变成第二次添加的对象,第三次会变成3个第三次添加的对象。郁闷。怎么改正啊?
public void replace(DataGridViewRow datarow, string str, string[] strs, int num, int drc)
{
if (num == 8)
{
if (datarow.Cells[str].Value.ToString() != strs[num])
{
datarow.Cells[str].Value = strs[num]; clsChangedCellsInfo.RowID = drc;
clsChangedCellsInfo.ColumnName = str;
clsChangedCellsInfo.ChangeTime = DateTime.Now; cellInfo.Add(clsChangedCellsInfo);//!!要怎么改这附近?
}
}
else
{
if (datarow.Cells[str].Value.ToString() != strs[num])
{
double dStrs;
if (strs[num] == "")
{
dStrs = 0;
}
else
{
dStrs = Double.Parse(strs[num]);
}
double dDatarow;
if (datarow.Cells[str].Value.ToString() == "")
{
dDatarow = 0;
}
else
{
dDatarow = Double.Parse(datarow.Cells[str].Value.ToString());
}
if (dStrs > dDatarow)
{
dgvData.Rows[drc].Cells[str].Style.BackColor = Color.Red;
}
else
{
dgvData.Rows[drc].Cells[str].Style.BackColor = Color.Green;
}
datarow.Cells[str].Value = strs[num]; clsChangedCellsInfo.RowID = drc;
clsChangedCellsInfo.ColumnName = str;
clsChangedCellsInfo.ChangeTime = DateTime.Now; cellInfo.Add(clsChangedCellsInfo);//!!)要怎么改这附近?
}
}
}
}
public void replace(DataGridViewRow datarow, string str, string[] strs, int num, int drc)
{
if (num == 8)
{
if (datarow.Cells[str].Value.ToString() != strs[num])
{
datarow.Cells[str].Value = strs[num]; clsChangedCellsInfo.RowID = drc;
clsChangedCellsInfo.ColumnName = str;
clsChangedCellsInfo.ChangeTime = DateTime.Now; cellInfo.Add(clsChangedCellsInfo);//!!要怎么改这附近?
}
}
else
{
if (datarow.Cells[str].Value.ToString() != strs[num])
{
double dStrs;
if (strs[num] == "")
{
dStrs = 0;
}
else
{
dStrs = Double.Parse(strs[num]);
}
double dDatarow;
if (datarow.Cells[str].Value.ToString() == "")
{
dDatarow = 0;
}
else
{
dDatarow = Double.Parse(datarow.Cells[str].Value.ToString());
}
if (dStrs > dDatarow)
{
dgvData.Rows[drc].Cells[str].Style.BackColor = Color.Red;
}
else
{
dgvData.Rows[drc].Cells[str].Style.BackColor = Color.Green;
}
datarow.Cells[str].Value = strs[num]; clsChangedCellsInfo.RowID = drc;
clsChangedCellsInfo.ColumnName = str;
clsChangedCellsInfo.ChangeTime = DateTime.Now; cellInfo.Add(clsChangedCellsInfo);//!!)要怎么改这附近?
}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货