2011-04-20 4 views
1

DataGridView에서 CellFormatting 이벤트에 대한 처리기를 추가하여 행의 내용을 기반으로 배경색을 수정했습니다.DataGridView CellFormatting 이벤트가 실행되지 않음

데이터가 테이블에 삽입되는 것처럼 보이지 않습니다. IDE에서 코드를 제대로 작성한 것으로 보이는 CellFormatting 이벤트의 doubleclicking을 사용하여 이벤트 핸들러를 추가했습니다.

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
    { 
     // this never gets called 
     MessageBox.Show("Event fired"); 
    } 

내가 잘못 할 수 있습니까?

답변

2

귀하의 사례에 대해 CellFormating 이벤트를 사용할 수 없다고 생각합니다. 셀 내용을 표시 할 때 서식을 지정해야 할 때 발생합니다.

대신 (http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx)

또는

다른 적절한 이벤트를 선택 CellValueChanged 이벤트를보십시오 http://msdn.microsoft.com/en-us/library/x4dwfh7x.aspx

+0

나는 내가 필요한 것을 캡처 한 RowsAdded 이벤트를 사용했다. 감사! – Dave

2

당신은 RowValidated 이벤트를 시도 할 수 :

private void dataGridView1_RowValidated(object sender, DataGridViewCellEventArgs e) 
{ 
     dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue; 
} 

참고 : 당신이 행을 클릭 할 때와 양식을 닫을 때이 이벤트가 발생합니다.

관련 문제