【发布时间】:2018-03-15 19:57:27
【问题描述】:
我正在尝试热图数据以便快速查看和更快地分析。但是我尝试了几种不同的方法来调用我的依赖项。当我运行程序时,我得到错误,“对象不是对象的实例。我的程序在组合框的不同数据集之间快速变化。所以我必须为选定的组合框项目添加条件,这样我才能读取正确的列,因为该列具有相同的名称,但始终位于数据集的末尾。这是我现在的编码。
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;
}
还有其他方法可以调用行、列单元格的值吗?任何帮助都会得到帮助!!此数据集按此顺序显示列。名称、价格、热度。
【问题讨论】:
-
谢谢,我会仔细检查数据库,它应该设置为不允许空值,行数据的默认值应该设置为0。意味着不应该有空值,如果是0尚未被后台工作人员更新或更改。
-
这个错误通常来自于有一个空行;尝试将
AllowUserToAddRows设置为假! ((顺便说一句,您可能想查看these post,其中两个在 dgv 中显示热图 ..)) -
在检查数据库设置时,它允许在我试图读取的列中出现空值。我删除了那个选项。但仍然得到同样的错误。有 2500 多行。我已将其设置为不允许任何空值。
-
@TaW 感谢您的建议。问题不在于调用颜色或设置颜色,就像我调用颜色的方式一样,系统会自动读取颜色代码。我正在观看有关引用的错误代码和可能的修复的几个视频。我没有用户允许用户添加行,因为数据库如果固定引用。本质上,数据库实际上是通过 api 连接检查的内容列表。从名称列调用,其余列是计算和绘图期间抓取信息的占位符。
标签: c# datagridview background background-color