2012-04-10 12 views
0

フォームにDataGridViewがあり、色を付けようとしています。カラーデータグリッドビューで問題が発生する

は、ここでは、コードです:あなたが見ることができるように

public partial class Form1 : Form 
    { 
     DataTable dtToGrid = new DataTable(); 
     BindingSource bs = new BindingSource(); 

     public Form1() 
     { 
      InitializeComponent(); 

      dtToGrid.Columns.Add("Group"); 

      DataRow dr; 

      dr = dtToGrid.NewRow(); 
      dr["Group"] = "must become lightGreen"; 

      dtToGrid.Rows.Add(dr);   

      bs.DataSource = dtToGrid; 
      dataGridView1.DataSource = bs; 

      ColorData(); 

      dataGridView1.Refresh(); 
     } 

     public void ColorData() 
     { 
      dataGridView1[0, 0].Style.BackColor = Color.LightGreen; 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      ColorData(); 
     } 
    } 

、機能色データは二回呼び出し、それがコンストラクタから呼び出されていますとき - 何も起こりませんし、セルがまだ白いです。イベント関数であるbutton1_Clickから呼び出すと、セルの色が正しく表示されます。

どうしたの?

+0

どのクラスがオブジェクトですか?dataGridView1? –

+0

System.Windows.Forms.DataGridView – Metaller

+0

[似たような質問](http://stackoverflow.com/questions/1365617/how-to-force-refresh-the-datagridviews-content)リンク上のアンサーを確認してください。 dataGridView1.EndEdit();あなたが編集中のものを変更しているので、おそらくトリックをやるでしょう。 –

答えて

0

私は自分自身で答えを見つけました。 最初にフォームをロードし、その後でセルの色を変更することができます。 イベント機能の色が変わります。メインフォーム用のLoadです。すべて動作します。

関連する問題