2012-03-20 6 views
6
내가 일하고 있어요

바인딩 및 내 양식에 나는 행의 상태를 표시해야합니다 DataGridViewImageColumnDataGridView 있습니다.보기 이미지는 WindowsForm 프로젝트에 텍스트 필드

내 데이터 격자에 바인딩하는 DataTable이 있습니다. 이 표에는 각 행의 상태 인 열이 있으며 텍스트 필드입니다.

올바른 이미지를 표시하는 DataGridViewImageColumn에이 열을 어떻게 바인딩 할 수 있습니까?

답변

13

DataGridView에서 작업하는 방법에 대한 질문이있는 경우 Microsoft의 FAQ를 먼저 참조하십시오.

http://www.windowsclient.net/Samples/Go%20To%20Market/DataGridView/DataGridView%20FAQ.doc

일반적으로 제가 그 상황에서 할 것은 셀의 값에 따라 이미지를 설정하는 CellFormatting 이벤트를 처리합니다.

그래서 이미지 목록과 같은에서 내 이미지를 저장하는 것, 다음과 같은 CellFormatting 코드를 가지고 :

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if (dgv.Columns[e.ColumnIndex].Name == "status") 
    { 
     if (e.Value != null) 
     { 
      if (e.Value.ToString() == "1") 
      { 
       e.Value = imageList1.Images[1]; 
      } 
      else 
      { 
       e.Value = imageList1.Images[2]; 
      } 
     } 
    } 
} 
+0

이 당신의 제안을 주셔서 감사합니다! – davioooh

+0

@UWSkeletor - (게시물이 오래되었다는 것을 알고 있습니다.)이 코드가 2 번 실행되지 않습니까? 초기 셀 서식 지정 이벤트가 발생하면 값이 이미지로 설정됩니다. 그럼 왜 데이터 바인딩 완료 이벤트에서하지 않습니까? – Stix