2009-11-12 8 views
3

.net 구성 요소 DataGridView를 사용하여 이미지에서 행 머리글과 열 머리글에 사용자 지정 배경을 지정하려고합니다. 이것을 할 수 있습니까? 그렇다면 어떻게?dataGridView 셀에 C#에서 배경 이미지 제공

Visual Studio 2008, Windows 응용 프로그램, C#을 사용합니다.

답변

2

datagridview rowheader의 속성을 변경할 수 있습니다. CellPainting 또는 RowPostPaint 이벤트를 처리하고 행 헤더 셀에 수동으로 이미지를 그려야합니다. 이 작업을 수행하는 방법에

protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e) 
     { 
      // Your code to insert image/content per cell goes here  
     } 
+0

나는 아직도이 코드는 날이 달성 할 수있는 방법을 알아낼 수 없습니다. 어디서 RowPostPaint 이벤트를 무시하려고하는지 알지만 여전히 셀 배경에 이미지를 삽입하는 방법을 모르겠습니다. – Pieter888

+0

감사합니다. QuBaR! 감사합니다. – Pieter888

+0

미래의 Google 직원을 위해 : 동일한 트릭을 사용하여 셀에 그라디언트 배경을 지정하고 (LinearGradientBrush를 사용) OnRowPrePaint 만 사용하고 셀의 기본 배경색을 * 투명으로 설정합니다. –

-2

이 같은 RowDataBound 이벤트 헤더 요소 당 cssClass 이름을 넣고 CSS에서 배경 이미지를 지정하는 것입니다.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Header) 
     { 
      foreach (TableCell c in e.Row.Cells) 
      { 
       c.CssClass = "bgimage"; 
      } 
     } 
    } 

CSS :

.bgimage{ background-image:url(images/arrow-red-large-down.gif); 
+0

그리고 어떻게 할 수 있습니까? css 자체를 정의하십시오. 그것은 외부 파일이어야합니까? – Pieter888

+0

적절한 방법은 외부 스타일 시트에 대한 참조를 포함하는 것이지만 페이지에 스타일을 인라인으로 포함 할 수 있습니다. –

+0

이것은 ASP.net을위한 것입니다. 답변을하기 전에 winforms –

관련 문제