2017-10-04 8 views
0

빠른보기 및 빠른 분석을 위해지도 데이터를 히트하려고합니다. 그러나 나는 여러 가지 다른 것을 시도했다. 나는 프로그램을 실행할 때 "객체의 인스턴스가 아닌 객체를 얻습니다. 내 프로그램이 콤보 상자의 다른 데이터 세트간에 빠르게 변경됩니다. 그래서 선택한 콤보 상자 항목의 조건을 추가해야합니다. 그래서 올바른 열을 읽을 수 있습니다. 열이 여기에. 이름은 같지만 항상 데이터 세트의 끝에있다 코딩 한, 지금은 있습니다. C# HeatMap 열 셀 값에 따라 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

데이터베이스를 두 번 확인해 주셔서 감사합니다. null이 허용되지 않도록 설정해야합니다. 행 데이터의 기본값은 0으로 설정해야합니다. 즉, null이 없어야하고, 업데이트되지 않은 경우 0 만 있어야합니다. 아직 또는 배경 작업자가 변경했습니다. –

+0

이 오류는 emtpy 행이있는 경우 발생하는 경우가 많습니다. 'AllowUserToAddRows'를 false로 설정하십시오! (Btw, [이 게시물] (https://stackoverflow.com/search?q=user%3A3152130+heatmap)을 확인해보십시오. 그 중 두 개가 dgv에서 히트 맵을 표시합니다 ..)) – TaW

답변

0

그래서 문제가 해결되었습니다. 히트 맵 클래스가 비공개 인 기본 datagridview 클래스 외부에 있습니다.이 코드 내에 동일한 코드를 삽입하면이 코드 세트가 열립니다. 오류를 수정했습니다. 나는 이것이 datagridview 클래스가 private이면서 public이 아니기 때문이라고 추측 할 것이다. 그러나 확실하지 않습니다. 나는이 오류를 더 이상 받아들이지 않으며 색상이 적절하게 표시됩니다.

답장과 답변 모두에게 감사드립니다. 그들은 실제로 문제를 해결하기 위해 나를 올바른 길로 가게했습니다.