2017-10-04 15 views
0

ヒートマップデータを迅速に表示し、より高速な分析ができるようにしようとしています。しかし、私はいくつかの異なる私の依存関係を呼び出すことを試みた。私がプログラムを実行すると、 "オブジェクトのインスタンスではなくオブジェクトです。"というエラーが表示されます。私のプログラムは、異なるデータセット間でコンボボックスからすばやく変更されるため、選択したコンボボックスアイテムの条件を追加する必要があります。列はここで。名前が同じで、常にデータセットの終わりを持っている符号化であるとして、私が今持っている。 C#ヒートマップDataGridView列セルの値に応じて

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

[NullReferenceExceptionとは何ですか?また修正するにはどうすればいいですか?](https://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it) – Sinatr

+0

私はデータベースをチェックしていただきありがとうございます。ヌルを許可しないように設定する必要があります。ローデータのデフォルト値は0に設定する必要があります。ヌルがないはずです。まだまたはバックグラウンドワーカーによって変更されました。 –

+0

多くの場合、このエラーはemtpy行が原因です。 'AllowUserToAddRows'をfalseに設定してみてください! (Btw、[これらの投稿](https://stackoverflow.com/search?q=user%3A3152130+heatmap)をチェックしてみてください。そのうち2つはdgvでヒートマップを表示します..)) – TaW

答えて

0

問題を修正しましたヒートマップクラスがプライベートなメインのdatagridviewクラスの外にありました。このコードの中に同じコードを置くことで、このデータセットはこの順番で列を表示します。エラーを修正しました。私はこれがdatagridviewクラスがプライベートで公開されていないためだと推測します。しかし確かではない。私はもはやこのエラーを受けなくなり、色が適切に表示されます。

返信と回答ありがとうございました。彼らは実際に問題を解決するために私を正しい道につけました。

関連する問題