我正在尝试加热地图数据,以便快速查看和加快分析速度。但是我尝试了几种不同的方式来调用我的依赖。当我运行程序时,我得到错误,“对象不是对象的实例。我的程序在组合框中的不同数据集之间快速切换。所以我必须添加所选组合框项目的条件,所以我可以读取正确的列,因为列具有相同的名称,但始终位于数据集的末尾。这是我现在的编码。
public void heatmap()
{
string selected = comboBox1.SelectedItem.ToString();
if (selected == "General")
{
for(int i = 0; i < dataGridView1.Rows.Count; i++)
{
int val = Int32.Parse(dataGridView1.Rows[i].Cells[1].Value.ToString());
//No Change
if (val == 0)
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.WhiteSmoke;
}
//Big Drop
else if (val == 1)
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Navy;
}
// Slight Drop
else if (val == 2)
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.LightBlue;
}
// Slight Raise
else if (val == 3)
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.OrangeRed;
}
// Big Raise
else if (val == 4)
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red;
}
是否有另一种方法来调用行,列单元格值?任何帮助是appriciated !!此数据集按此顺序显示列。名称,价格,热度。
答案 0 :(得分:0)
所以我修复了问题我的热图类在私有的主datagridview类之外。通过在此编码中放置相同的代码。它修复了错误。我猜这是因为datagridview类是私有的而不是公共的。但不确定。我不再接受此错误,颜色显示正常。
谢谢大家的回复和答案。他们实际上让我走上了解决问题的正确道路。