private void makerowpink(DataGridView dgv)//控制“加急”行变色
        {
            for (int i = 0; i < dgv.Rows.Count; i++)
            {
                if (dgv.Rows[i].Cells[11].Value.ToString().Trim() == " 加急")
                {
                    dgv.Rows[i].DefaultCellStyle.BackColor = Color.Pink;
                }
            }
        }
我在Load事件里调用该函数来控制 datagridview里一些行的颜色。
但只要点击列头的话,所有的行又没有颜色了,请问要在什么事件里调用上面的那个函数才能解决这个问题呢?

解决方案 »

  1.   

    应该是Grid本身的OnInit事件里面调用.也就是初始化的那个事件里面.
      

  2.   

    在ItemDataBound中
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
       {
        if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem) || (e.Item.ItemType == ListItemType.SelectedItem) ) 
        {
         事件处理
        }
       }
      

  3.   

    lz是WinForm下的 paint方法写应该可以 
      

  4.   

    找到了 dataGridView1_ColumnHeaderMouseClick